Browse Source
When cloning repository with --single-branch option, tag chains are not packed and pack file is broken in some cases. Typical test-case: git tag -a test_tag <commit-id> git tag -a test_prev_tag test_tag git tag -d test_tag git clone --single-branch <repository> fatal: did not receive expected object <test_tag_id> The reason for that is missing object for original test_tag reference, which was deleted. Problem description: When pack-objects is given --include-tag, it peels each tag reference down to a commit. If the commit is prepared to be packed, we we have to include such tag too. The problem is when the tag points to through some chain of other tag to commit. Then, the inner tags are not added leading to broken pack. Fix: When going to commit, we have to check and add any of the tags on the way (if they were not selected, which may happen with --single-branch option). Change-Id: I1682d4a2c52d674f90a1b021e0f6c3524c5ce5bc Signed-off-by: Pavel Flaška <Pavel.Flaska@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>stable-5.5
Pavel Flaška
7 years ago
committed by
Matthias Sohn
2 changed files with 100 additions and 2 deletions
Loading…
Reference in new issue