Some things are fixed along the way:
- no cache shared between incompatible funcs
- some incosistent exceptions are now consistent
- import updates for git files now works both for dvc and git repos
- "auto-generated-upstream already exists" fixed
- dvc.api.open()/read() works with git repos now
Fixes#3124, #2976. Closes#3172.
* ui/perf: do not clone same repo multiple times
Closes#2490
External repos are still created in /tmp. They might be reused until
main() end. If no perfect match is found then a repo with the same url
is copied (not cloned again) and adjusted to fit a request: rev and
cache_dir.
NOTE: test_download_error_pulling_imported_stage() was modified to not
rely on clone error.
* test: fix import update test
* test: fix external_repo test under Windows
* dvc: fix non-master default branch for external repos
* dvc: remove unused .unset_dir() method
* erepo: dvc: implement `update` for imports from ext repos
Fixes#1774Fixes#2139Fixes#2201
Signed-off-by: Ruslan Kuprieiev <[email protected]>
* deps: repo: make private
Signed-off-by: Ruslan Kuprieiev <[email protected]>
* update: only support repo imports
Signed-off-by: Ruslan Kuprieiev <[email protected]>