Currently if dvc_dir doesn't exists (e.g. we are creating an uninitialized
repo), config will try looking for `.dvc` dir in the current directory,
which might be inside of another dvc repository resulting in mixed configs.
Use explicit `from_cwd` method to make `Config` try to find repo configs
if available to avoid the usage mixup.
* plots: return errors in json format
* plots --json: move plots data into data key
* rename revision key to rev
* move imports to top-level
* add tests
Closes#9058 .
Ensures behavior of `_stash_exp` in `exp run` is matched in `exp save` without duplicating logic.
The simpler implementation ended up being worse for maintenance when wanting to make `exp run` and `exp save` behavior in sync.
* erepo: get rid of NoRemoteInExternalRepoError
This exception hasn't been making any sense at all since we've introduced
get and import, as they can be chained in repos.
* erepo: get rid of NoOutputInExternalRepoError
This is dead code these days.
* erepo: get rid of FileMissingError and PathMissingError
* api: preserve legacy exc wrappers
If we are asked to open a potentially unitialized repo, we need to make sure
it is not a bare git repo, so that we don't accidentally start putting dvc
files inside git control dir.
Discovered while working on #8789
We use all of these for optimization and should not depend on a potentially slow or broken
filesystem on which repository resides (could be HDD or CIFS/NFS/overlayfs/etc).
This PR means a few things:
* all odd filesystems that dvc repo might be on will work quickly out of the box
* when we start caching cloned repositories for `dvc get/import`, we will be
able to cache indexes for them as well (note that bare clones don't have a
worktree so there is no place for .dvc/tmp with the old approach).
* `index.dir` and `state.dir` are now obsolete.
* `dvc init` will cleanup site_cache_dir.
Related #5562
`plots.show` returned `definitions` in native `nt` format but sources in `posixpath` format so the matching was failing.
Closes#8689
- Add `test_show_plots_defined_with_native_os_path`.
* refactor: add metrics_show, rename module to show
* tests: add functional tests for metrics_show
* api.show: return empty dict for no params/metrics
* test_show: Return relpaths in `metrics_repo`.
---------
Co-authored-by: codamuse <[email protected]>
Co-authored-by: David de la Iglesia Castro <[email protected]>
* bump ruff to v0.0.247
* ruff: enable pep8-naming check
rename some camelCased APIs, especially in logger
rename G variables to graph
ignore some variable namings and help messages in dvc.commands
Extracting from `index.data` as a "root" data index that contains indexes
for different revisions/workspaces.
This is a setup for putting cloud versioning remote indexes and also replacing
old state.