git-commit-vandalism/Documentation/technical
brian m. carlson c5aecfc866 bundle: add new version for use with SHA-256
Currently we detect the hash algorithm in use by the length of the
object ID.  This is inelegant and prevents us from using a different
hash algorithm that is also 256 bits in length.

Since we cannot extend the v2 format in a backward-compatible way, let's
add a v3 format, which is identical, except for the addition of
capabilities, which are prefixed by an at sign.  We add "object-format"
as the only capability and reject unknown capabilities, since we do not
have a network connection and therefore cannot negotiate with the other
side.

For compatibility, default to the v2 format for SHA-1 and require v3
for SHA-256.

In t5510, always use format v3 so we can be sure we produce consistent
results across hash algorithms.  Since head -n N lists the top N lines
instead of the Nth line, let's run our output through sed to normalize
it and compare it against a fixed value, which will make sure we get
exactly what we're expecting.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Reviewed-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-07-30 09:16:48 -07:00
..
.gitignore
api-error-handling.txt
api-index-skel.txt
api-index.sh
api-merge.txt merge: move doc to ll-merge.h 2019-11-18 15:21:28 +09:00
api-parse-options.txt parse-options: make OPT_ARGUMENT() more useful 2019-03-18 11:44:14 +09:00
api-trace2.txt trace2: teach Git to log environment variables 2020-03-23 13:14:53 -07:00
bitmap-format.txt
bundle-format.txt bundle: add new version for use with SHA-256 2020-07-30 09:16:48 -07:00
commit-graph-format.txt Documentation: changed-path Bloom filters use byte words 2020-05-11 09:33:56 -07:00
commit-graph.txt Merge branch 'jk/lore-is-the-archive' 2019-12-06 15:09:23 -08:00
directory-rename-detection.txt Merge branch 'ja/dir-rename-doc-markup-fix' 2019-04-10 02:14:21 +09:00
hash-function-transition.txt Merge branch 'jk/lore-is-the-archive' 2019-12-06 15:09:23 -08:00
http-protocol.txt doc: fix wrong 4-byte length of pkt-line message 2020-05-21 10:52:01 -07:00
index-format.txt Documentation: fix a bunch of typos, both old and new 2019-11-07 13:42:00 +09:00
long-running-process-protocol.txt Docs: split out long-running subprocess handshake 2018-01-25 11:24:32 -08:00
multi-pack-index.txt Merge branch 'jb/doc-multi-pack-idx-fix' 2020-01-08 12:44:12 -08:00
pack-format.txt pack-format: correct multi-pack-index description 2020-02-10 09:01:48 -08:00
pack-heuristics.txt
pack-protocol.txt doc: fix wrong 4-byte length of pkt-line message 2020-05-21 10:52:01 -07:00
packfile-uri.txt Documentation: add Packfile URIs design doc 2020-06-10 18:06:34 -07:00
partial-clone.txt Merge branch 'jk/lore-is-the-archive' 2019-12-06 15:09:23 -08:00
protocol-capabilities.txt Documentation: document v1 protocol object-format capability 2020-05-13 18:14:08 -07:00
protocol-common.txt
protocol-v2.txt Merge branch 'bc/sha-256-part-2' 2020-07-06 22:09:13 -07:00
racy-git.txt doc: replace LKML link with lore.kernel.org 2019-12-04 10:26:52 -08:00
reftable.txt reftable: define version 2 of the spec to accomodate SHA256 2020-06-09 13:48:36 -07:00
repository-version.txt doc: move extensions.worktreeConfig to the right place 2018-11-16 14:10:31 +09:00
rerere.txt Documentation: fix a bunch of typos, both old and new 2019-11-07 13:42:00 +09:00
send-pack-pipeline.txt
shallow.txt technical/shallow: describe why shallow cannot use replace refs 2018-04-30 11:12:31 +09:00
signature-format.txt
trivial-merge.txt