This keeps it in symmetry with
https://github.com/iterative/dvc-studio-client/pull/28, and allows
setting the base url with path, not just limited to netloc.
This was always intended to work, urljoin with the added slash was
causing this bug.
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.
This will come useful in debugging, where you don't have to add --verbose just to
see where it failed or go through verbose logs (which might be useful when working
with UI issues as you want to see what the user sees).
Ideally this should be handled in main when we exit with error instead of using
logger.{warning,error,exception} to log exception as the intention is to only log
last exception that makes it exit. But since we don't have that capability and
we don't abuse logging.{warning,error,exception} to log and suppress exceptions, this is a good
enough solution for now without complicating `dvc.cli.main()`.
* 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.