summaryrefslogtreecommitdiffstats
path: root/tests/test_project.py
diff options
context:
space:
mode:
authorRobin Schneider <ypid@riseup.net>2021-11-13 22:55:32 +0100
committerRobin Schneider <ypid@riseup.net>2021-11-16 20:43:57 +0000
commit9c1fc5bc5d1e78f7794ae0ddfa379b448fcb4b1f (patch)
tree100ffc8713fb863687b412118ac8091a81fbdfb6 /tests/test_project.py
parent333c0a499bd76a129dfbb4ba78c182c398caa79f (diff)
downloadgit-repo-9c1fc5bc5d1e78f7794ae0ddfa379b448fcb4b1f.tar.gz
sync: Handle tag ref in "upstream" field
repo sync only handles a git tag properly when it is in the "revision" field. However, "revision locked manifests" (`repo manifest --revision-as-HEAD`) specifies the tag in the "upstream" field. The issue is that this tag is not fetched. Only the commit that the tag points to is fetched. This cases issues as self._CheckForImmutableRevision() runs and comes to the conclusion that the tag was changed while in fact, it was just not fetched. This causes a full sync. File docs/manifest-format.md, section Element-project: > Attribute upstream: Name of the Git ref in which a sha1 can be found. Used when syncing a revision locked manifest in -c mode to avoid having to sync the entire ref space. Project elements not setting their own upstream will inherit this value. Change-Id: I0507d3a5f30aee8920a9f820bafedb48dd5db554 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/323620 Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Robin Schneider <ypid@riseup.net>
Diffstat (limited to 'tests/test_project.py')
0 files changed, 0 insertions, 0 deletions