dvc.run does not expand variables. It is only done when it's actually read from dvc.yaml file.
So during dvc run, the shell will try to expand the variable, which does not exist.
I don't think that the intention was to use shell variables. But I don't think we should ever
use them, as they will fail on some shells (eg: fish) and keep the scripts as simple as possible.
* exp push: improve ui
* fix misc suggestions
- show url even when the refs are up-to-date.
- show url at the end
- add Git remote information in up-to-date UI message.
* fix diverged exps message
* add artifacts section
* adding and removing artifacts
* delete code for add/remove; add tests
* fix pre-commit
* remove extra piece of writing to dvc.yaml
* remove extra piece
* simplify kwargs
* allow same names for artifacts in different dvc.yaml files
* set ID as path; don't return dvc.yaml(s) with no artifacts
* fix PR feedback
* issue warning at incorrect artifact name
* issue warning at incorrect artifact name
* reference right schema
* add r to regexp
* add tests for regexp
* set artifacts for SingleStageFile
* fix windows test
* make path required; simplify regexp and remove slash from it
* allow to use gto's artifacts.yaml
* remove extra piece of code for migration from gto
Makes dvc get/import/etc use dvcfs, which already supports cloud versioning,
circular imports and other stuff.
Also makes dvc import behave more like dvc import-url, so that we can use
the same existing logic for fetching those using index instead of objects.
Fixes#8789
Related iterative/studio#4782
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