diff options
author | Junio C Hamano <gitster@pobox.com> | 2024-03-28 21:13:50 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-03-28 21:13:50 (GMT) |
commit | 1002f28a527d33893f7dab068dbac7011f84af65 (patch) | |
tree | 9b9ada23d952e936d496597d03064c10d8d9f73d /Documentation | |
parent | c75fd8d8150afdf836b63a8e0534d9b9e3e111ba (diff) | |
parent | 7673ecd2dcdcf0aae01cccdb5c25f9b96160a8c0 (diff) | |
download | git-1002f28a527d33893f7dab068dbac7011f84af65.zip git-1002f28a527d33893f7dab068dbac7011f84af65.tar.gz git-1002f28a527d33893f7dab068dbac7011f84af65.tar.bz2 |
Merge branch 'eb/hash-transition'
Work to support a repository that work with both SHA-1 and SHA-256
hash algorithms has started.
* eb/hash-transition: (30 commits)
t1016-compatObjectFormat: add tests to verify the conversion between objects
t1006: test oid compatibility with cat-file
t1006: rename sha1 to oid
test-lib: compute the compatibility hash so tests may use it
builtin/ls-tree: let the oid determine the output algorithm
object-file: handle compat objects in check_object_signature
tree-walk: init_tree_desc take an oid to get the hash algorithm
builtin/cat-file: let the oid determine the output algorithm
rev-parse: add an --output-object-format parameter
repository: implement extensions.compatObjectFormat
object-file: update object_info_extended to reencode objects
object-file-convert: convert commits that embed signed tags
object-file-convert: convert commit objects when writing
object-file-convert: don't leak when converting tag objects
object-file-convert: convert tag objects when writing
object-file-convert: add a function to convert trees between algorithms
object: factor out parse_mode out of fast-import and tree-walk into in object.h
cache: add a function to read an OID of a specific algorithm
tag: sign both hashes
commit: export add_header_signature to support handling signatures on tags
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/config/extensions.txt | 12 | ||||
-rw-r--r-- | Documentation/git-rev-parse.txt | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/Documentation/config/extensions.txt b/Documentation/config/extensions.txt index 66db0e1..38dce3d 100644 --- a/Documentation/config/extensions.txt +++ b/Documentation/config/extensions.txt @@ -7,6 +7,18 @@ Note that this setting should only be set by linkgit:git-init[1] or linkgit:git-clone[1]. Trying to change it after initialization will not work and will produce hard-to-diagnose issues. +extensions.compatObjectFormat:: + + Specify a compatitbility hash algorithm to use. The acceptable values + are `sha1` and `sha256`. The value specified must be different from the + value of extensions.objectFormat. This allows client level + interoperability between git repositories whose objectFormat matches + this compatObjectFormat. In particular when fully implemented the + pushes and pulls from a repository in whose objectFormat matches + compatObjectFormat. As well as being able to use oids encoded in + compatObjectFormat in addition to oids encoded with objectFormat to + locally specify objects. + extensions.refStorage:: Specify the ref storage format to use. The acceptable values are: + diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt index 5d83dd3..f9d5a35 100644 --- a/Documentation/git-rev-parse.txt +++ b/Documentation/git-rev-parse.txt @@ -159,6 +159,18 @@ for another option. unfortunately named tag "master"), and shows them as full refnames (e.g. "refs/heads/master"). +--output-object-format=(sha1|sha256|storage):: + + Allow oids to be input from any object format that the current + repository supports. + + Specifying "sha1" translates if necessary and returns a sha1 oid. + + Specifying "sha256" translates if necessary and returns a sha256 oid. + + Specifying "storage" translates if necessary and returns an oid in + encoded in the storage hash algorithm. + Options for Objects ~~~~~~~~~~~~~~~~~~~ |