This is the fifteenth series in the ongoing hash function transition. This series includes several conversions to use the_hash_algo, combined with some use of parse_oid_hex and GIT_MAX_RAWSZ. Changes from v1: * Fix several other substantially similar issues in builtin/repack. * Fix a comment style issue. * Improve commit message as suggested by Stefan. * Pull in Gábor's patch and place it at the beginning of the series. SZEDER Gábor (1): object_id.cocci: match only expressions of type 'struct object_id' brian m. carlson (14): pack-bitmap-write: use GIT_MAX_RAWSZ for allocation builtin/repack: replace hard-coded constants builtin/mktree: remove hard-coded constant builtin/fetch-pack: remove constants with parse_oid_hex pack-revindex: express constants in terms of the_hash_algo packfile: express constants in terms of the_hash_algo refs/packed-backend: express constants using the_hash_algo upload-pack: express constants in terms of the_hash_algo transport: use parse_oid_hex instead of a constant tag: express constant in terms of the_hash_algo apply: replace hard-coded constants apply: rename new_sha1_prefix and old_sha1_prefix submodule: make zero-oid comparison hash function agnostic rerere: convert to use the_hash_algo apply.c | 50 ++++++------ builtin/fetch-pack.c | 13 ++-- builtin/mktree.c | 2 +- builtin/repack.c | 13 ++-- contrib/coccinelle/object_id.cocci | 117 ++++++++++++++++------------- git-submodule.sh | 7 +- pack-bitmap-write.c | 2 +- pack-revindex.c | 10 ++- packfile.c | 5 +- refs/packed-backend.c | 14 ++-- rerere.c | 81 ++++++++++---------- tag.c | 2 +- transport.c | 7 +- upload-pack.c | 13 ++-- 14 files changed, 181 insertions(+), 155 deletions(-) Range-diff against v1: -: ---------- > 1: 35d9cefd9a object_id.cocci: match only expressions of type 'struct object_id' 1: 223d6f6695 ! 2: bb2a15a6e9 pack-bitmap-write: use GIT_MAX_RAWSZ for allocation @@ -2,6 +2,7 @@ pack-bitmap-write: use GIT_MAX_RAWSZ for allocation + Reviewed-by: Stefan Beller <sbeller@xxxxxxxxxx> Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c 2: bbdb147d8d < -: ---------- builtin/repack: replace hard-coded constant -: ---------- > 3: 95bdac161e builtin/repack: replace hard-coded constants 3: bf7b55fe4e = 4: 2a28675cfc builtin/mktree: remove hard-coded constant 4: 155451f608 = 5: 7941bb0060 builtin/fetch-pack: remove constants with parse_oid_hex 5: 9ec7065d62 ! 6: 2ec9a22ea7 pack-revindex: express constants in terms of the_hash_algo @@ -3,7 +3,9 @@ pack-revindex: express constants in terms of the_hash_algo Express the various constants used in terms of the_hash_algo. + While we're at it, fix a comment style issue as well. + Reviewed-by: Stefan Beller <sbeller@xxxxxxxxxx> Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> diff --git a/pack-revindex.c b/pack-revindex.c @@ -37,7 +39,8 @@ } - /* This knows the pack format -- the 20-byte trailer -+ /* This knows the pack format -- the hash trailer ++ /* ++ * This knows the pack format -- the hash trailer * follows immediately after the last object data. */ - p->revindex[num_ent].offset = p->pack_size - 20; 6: 5e8576c6e4 ! 7: 3ccb2b7217 packfile: express constants in terms of the_hash_algo @@ -5,6 +5,11 @@ Replace uses of GIT_SHA1_RAWSZ with references to the_hash_algo to avoid dependence on a particular hash length. + It's likely that in the future, we'll update the pack format to indicate + what hash algorithm it uses, and then this code will change. However, + at least on an interim basis, make it easier to develop on a pure + SHA-256 Git by using the_hash_algo here. + Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> diff --git a/packfile.c b/packfile.c 7: 4c7b6471db = 8: 39eb7e1069 refs/packed-backend: express constants using the_hash_algo 8: 8318dcb630 = 9: 55269d5fc2 upload-pack: express constants in terms of the_hash_algo 9: 16916c9fa2 = 10: d30536a3bd transport: use parse_oid_hex instead of a constant 10: 9d8e2bc4ae = 11: 2139fe1fe1 tag: express constant in terms of the_hash_algo 11: 58f91f2167 = 12: af815c4215 apply: replace hard-coded constants 12: 6899dfc4af = 13: f651b226c8 apply: rename new_sha1_prefix and old_sha1_prefix 13: cc974651cb = 14: bf1d450aa5 submodule: make zero-oid comparison hash function agnostic 14: b373f16c12 = 15: d984036c1c rerere: convert to use the_hash_algo