This repository was archived by the owner on Sep 11, 2020. It is now read-only.
dotgit: handle refs that exist in both packed-refs and a loose ref file #666
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a repo starts out with a
packed-refs
file, and later a reference is updated by creating a new reference file for a name that already exists inpacked-refs
, then the same reference will be listed in two places (possibly with two different ref values). This is legal in git; the loose ref file always takes precedence over the packed-ref file. However, to support this properly, go-git needs to do two things:packed-refs
. This used to be the case, but recently (dotgit: remove ref cache for packed refs #651) it was changed, so this restores the original logic (without adding the packed-refs cache back in).