-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed as not planned
Labels
A: data-syncRelated to dvc get/fetch/import/pull/pushRelated to dvc get/fetch/import/pull/pushbugDid we break something?Did we break something?p3-nice-to-haveIt should be done this or next sprintIt should be done this or next sprint
Description
Bug Report
Description
With head detached and no branches available dvc get fails:
ERROR: failed to get 'data/data.xml' from '.' - unknown Git revision 'refs/remotes/origin/HEAD'
UPDATE: Skip to #6154 (comment)
Reproduce
- git clone https://github.com/iterative/example-get-started
- cd example-get-started
- git checkout --detach
- git branch -D master
- git --no-pager branch -v
- dvc get . data/data.xml
Environment information
Output of dvc doctor:
$ dvc doctor
DVC version: 2.3.0 (pip)
---------------------------------
Platform: Python 3.9.5 on macOS-10.16-x86_64-i386-64bit
Supports: azure, http, https
Cache types: reflink, hardlink, symlink
Cache directory: apfs on /dev/disk1s5s1
Caches: local
Remotes: https
Workspace directory: apfs on /dev/disk1s5s1
Repo: dvc, gitAdditional Information (if any):
Interesting, that dvc pull works fine.
2021-06-11 12:45:41,751 DEBUG: Creating external repo .@None
2021-06-11 12:45:41,751 DEBUG: erepo: git clone '.' to a temporary dir
2021-06-11 12:45:41,966 DEBUG: Removing '/Users/aguschin/Git/iterative/example-get-started2/.gqZZrecSgVYzPDv8JZmpCu'
2021-06-11 12:45:41,966 ERROR: failed to get 'data/data.xml' from '.' - unknown Git revision 'refs/remotes/origin/HEAD'
------------------------------------------------------------
Traceback (most recent call last):
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/command/get.py", line 37, in _get_file_from_repo
Repo.get(
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/repo/get.py", line 50, in get
with external_repo(
File "/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/contextlib.py", line 117, in __enter__
return next(self.gen)
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/external_repo.py", line 70, in external_repo
repo = Repo(**repo_kwargs)
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/repo/__init__.py", line 155, in __init__
self.root_dir, self.dvc_dir, self.tmp_dir = self._get_repo_dirs(
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/repo/__init__.py", line 103, in _get_repo_dirs
fs = scm.get_fs(rev) if isinstance(scm, Git) and rev else None
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/scm/git/__init__.py", line 353, in get_fs
resolved = self.resolve_rev(rev)
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/scm/git/__init__.py", line 400, in resolve_rev
return self._resolve_rev(rev)
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/scm/git/__init__.py", line 343, in _backend_func
return func(*args, **kwargs)
File "/Users/aguschin/.local/share/virtualenvs/yolov5-y85dc7P1/lib/python3.9/site-packages/dvc/scm/git/backend/pygit2.py", line 217, in resolve_rev
raise RevError(f"unknown Git revision '{rev}'")
dvc.scm.base.RevError: unknown Git revision 'refs/remotes/origin/HEAD'
------------------------------------------------------------
2021-06-11 12:45:41,974 DEBUG: Analytics is enabled.
2021-06-11 12:45:42,049 DEBUG: Trying to spawn '['daemon', '-q', 'analytics', '/var/folders/_l/xm_1fknn1479pfh9kg0ttgjc0000gq/T/tmpklkkra_a']'
2021-06-11 12:45:42,051 DEBUG: Spawned '['daemon', '-q', 'analytics', '/var/folders/_l/xm_1fknn1479pfh9kg0ttgjc0000gq/T/tmpklkkra_a']'
Initially this happened with me in Gitlab CI -- it seems like Gitlab fetches the repo without any branches and with head detached:
# output received from debugging this in gitlab CI:
$ git --no-pager branch -v
* (HEAD detached at eae5019) eae5019 update environment
$ dvc get . model
ERROR: failed to get 'model' from '.' - unknown Git revision 'refs/remotes/origin/HEAD'
Simple hack works, like running git checkout -b temp-branch first:
git checkout -b temp-branch
dvc get . model
Metadata
Metadata
Assignees
Labels
A: data-syncRelated to dvc get/fetch/import/pull/pushRelated to dvc get/fetch/import/pull/pushbugDid we break something?Did we break something?p3-nice-to-haveIt should be done this or next sprintIt should be done this or next sprint