add Backend.GitRemoteAnnex
Making GITBUNDLE be in the backend list allows those keys to be hashed to verify, both when git-remote-annex downloads them, and by other transfers and by git fsck. GITMANIFEST is not in the backend list, because those keys will never be stored in .git/annex/objects and can't be verified in any case. This does mean that git-annex version will include GITBUNDLE in the list of backends. Also documented these in backends.mdwn Sponsored-by: Kevin Mueller on Patreon
This commit is contained in:
parent
483887591d
commit
c7731cdbd9
7 changed files with 110 additions and 14 deletions
|
@ -1,4 +1,4 @@
|
|||
This adds two new object types to git-annex, GITMANIFEST and a GITBUNDLE.
|
||||
This adds two new key types to git-annex, GITMANIFEST and a GITBUNDLE.
|
||||
|
||||
GITMANIFEST--$UUID is the manifest for a git repository stored in the
|
||||
git-annex repository with that UUID.
|
||||
|
@ -14,7 +14,7 @@ An ordered list of bundle keys, one per line.
|
|||
# fetching
|
||||
|
||||
1. download GITMANIFEST for the uuid of the special remote
|
||||
2. download each listed GITBUNDLE object that we don't have
|
||||
2. download each listed GITBUNDLE key that we don't have
|
||||
3. `git fetch` from each new bundle in order
|
||||
(note that later bundles can update refs from the versions in previous
|
||||
bundles)
|
||||
|
@ -26,7 +26,7 @@ This is how pushes are usually done.
|
|||
1. create git bundle of all refs that are being pushed and have changed,
|
||||
and objects since the previously pushed refs
|
||||
2. hash to calculate GITBUNDLE key
|
||||
3. upload GITBUNDLE object
|
||||
3. upload GITBUNDLE key
|
||||
4. download current manifest
|
||||
5. append GITBUNDLE key to manifest
|
||||
|
||||
|
@ -38,8 +38,8 @@ previously pushed ref.
|
|||
|
||||
1. create git bundle containing all refs stored in the repository, and all
|
||||
objects
|
||||
2. hash to calculate GITBUNDLE object name
|
||||
3. upload GITBUNDLE object
|
||||
2. hash to calculate GITBUNDLE key name
|
||||
3. upload GITBUNDLE key
|
||||
4. download old manifest
|
||||
4. upload new manifest listing only the single new GITBUNDLE
|
||||
5. delete all other GITBUNDLEs that were listed in the old manifest
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue