This commit is contained in:
Joey Hess 2024-05-28 13:36:27 -04:00
parent 2ffe077cc2
commit d2efa141bb
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -14,7 +14,7 @@ GITBUNDLE--$UUID-$sha256 is a git bundle.
An ordered list of bundle keys, one per line.
Additionally, there may be bundle keys that are prefixed with "-".
These keys are not part of the current content of the git remote
These keys are not part of the current content of the git remote,
and are in the process of being deleted.
(Lines end with unix `"\n"`, not `"\r\n"`.)
@ -43,12 +43,14 @@ stored in such a special remote, this procedure will work:
(Note that later bundles can update refs from the versions in previous
bundles.)
Note that, if a GITBUNDLE listed in the GITMANIFEST turns out not to exist,
If any GITBUNDLE listed in the GITMANIFEST turns out not to exist,
a clone should treat this the same as if the GITMANIFEST were empty.
bundle objects are deleted when a push is made to the remote that
deletes all refs from it, and in a race between such a push and another
push of some refs, it is possible for the GITMANIFEST to refer to deleted
bundles.
Bundle objects are deleted only when a push is made to the remote that
deletes all refs from it, and when there was a race between such a push
and another push of some refs, it is possible for the GITMANIFEST to
refer to deleted bundles. In such a situation, the push that deleted all
refs wins. (This race condition is why old GITBUNDLE objects are listed in
the manifest rather than being immediately deleted.)
When the special remote is encrypted, both the names and content of
the GITMANIFEST and GITBUNDLE will also be encrypted. To