From: Junio C Hamano <gitster@pobox.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v5 0/5] Fix use of uninitialized hash algorithms
Date: Tue, 21 May 2024 11:07:12 -0700 [thread overview]
Message-ID: <xmqqpltf9gz3.fsf@gitster.g> (raw)
In-Reply-To: <ZkxUGzPn363PNWMF@tanuki> (Patrick Steinhardt's message of "Tue, 21 May 2024 09:58:19 +0200")
Patrick Steinhardt <ps@pks.im> writes:
> I have two smallish comments, but neither of them really have to be
> addressed. Overall I very much agree with this iteration and think that
> it's the right way to go.
I've locally done the following locally but it probably does not
need to be resent to the list before merging down to 'next'.
1: b23a93597c ! 1: d3b2ff75fd setup: add an escape hatch for "no more default hash algorithm" change
@@ Commit message
default object hash, 2024-05-07), to keep end-user systems still
broken when we have gap in our test coverage but yet give them an
escape hatch to set the GIT_TEST_DEFAULT_HASH_ALGO environment
- variable to "sha1" in order to revert to the previous behaviour.
+ variable to "sha1" in order to revert to the previous behaviour, in
+ case we haven't done a thorough job in fixing the fallout from
+ c8aed5e8. After we build confidence, we should remove the escape
+ hatch support, but we are not there yet after only fixing three
+ commands (hash-object, apply, and patch-id) in this series.
Due to the way the end-user facing GIT_DEFAULT_HASH environment
variable is used in our test suite, we unfortunately cannot reuse it
2: 6a20370944 = 2: abece6e970 t1517: test commands that are designed to be run outside repository
3: fa258c5d47 = 3: 4a1c95931f builtin/patch-id: fix uninitialized hash function
4: 164d340cbe = 4: 8d058b8024 builtin/hash-object: fix uninitialized hash function
5: bd0246eb51 ! 5: 4674ab682d apply: fix uninitialized hash function
@@ Commit message
Make sure we explicitly fall back to SHA-1 algorithm for backward
compatibility.
+ It is of dubious value to make this configurable to other hash
+ algorithms, as the code does not use the_hash_algo for hashing
+ purposes when working outside a repository (which is how
+ the_hash_algo is left to NULL)---it is only used to learn the max
+ length of the hash when parsing the object names on the "index"
+ line, but failing to parse the "index" line is not a hard failure,
+ and the program does not support operations like applying binary
+ patches and --3way fallback that requires object access outside a
+ repository.
+
Signed-off-by: Junio C Hamano <gitster@pobox.com>
## builtin/apply.c ##
@@ builtin/apply.c: int cmd_apply(int argc, const char **argv, const char *prefix)
if (init_apply_state(&state, the_repository, prefix))
exit(128);
++ /*
++ * We could to redo the "apply.c" machinery to make this
++ * arbitrary fallback unnecessary, but it is dubious that it
++ * is worth the effort.
++ * cf. https://lore.kernel.org/git/xmqqcypfcmn4.fsf@gitster.g/
++ */
+ if (!the_hash_algo)
+ repo_set_hash_algo(the_repository, GIT_HASH_SHA1);
+
next prev parent reply other threads:[~2024-05-21 18:07 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-13 7:15 [PATCH 0/2] Fix use of uninitialized hash algos Patrick Steinhardt
2024-05-13 7:15 ` [PATCH 1/2] builtin/patch-id: fix uninitialized hash function Patrick Steinhardt
2024-05-13 7:15 ` [PATCH 2/2] builtin/hash-object: " Patrick Steinhardt
2024-05-14 0:16 ` Junio C Hamano
2024-05-13 16:01 ` [PATCH 0/2] Fix use of uninitialized hash algos Junio C Hamano
2024-05-13 18:36 ` Junio C Hamano
2024-05-13 19:21 ` [PATCH v2 0/4] Fix use of uninitialized hash algorithms Junio C Hamano
2024-05-13 19:21 ` [PATCH v2 1/4] setup: add an escape hatch for "no more default hash algorithm" change Junio C Hamano
2024-05-13 19:48 ` Kyle Lippincott
2024-05-13 19:21 ` [PATCH v2 2/4] t1517: test commands that are designed to be run outside repository Junio C Hamano
2024-05-13 19:57 ` Kyle Lippincott
2024-05-13 20:33 ` Junio C Hamano
2024-05-13 21:00 ` Junio C Hamano
2024-05-13 21:07 ` Kyle Lippincott
2024-05-13 19:21 ` [PATCH v2 3/4] builtin/patch-id: fix uninitialized hash function Junio C Hamano
2024-05-13 19:21 ` [PATCH v2 4/4] builtin/hash-object: " Junio C Hamano
2024-05-13 21:28 ` [PATCH 5/4] apply: " Junio C Hamano
2024-05-13 22:41 ` [PATCH v3 0/5] Fix use of uninitialized hash algorithms Junio C Hamano
2024-05-13 22:41 ` [PATCH v3 1/5] setup: add an escape hatch for "no more default hash algorithm" change Junio C Hamano
2024-05-13 22:41 ` [PATCH v3 2/5] t1517: test commands that are designed to be run outside repository Junio C Hamano
2024-05-13 22:41 ` [PATCH v3 3/5] builtin/patch-id: fix uninitialized hash function Junio C Hamano
2024-05-13 23:11 ` Junio C Hamano
2024-05-14 4:31 ` Patrick Steinhardt
2024-05-14 15:52 ` Junio C Hamano
2024-05-13 22:41 ` [PATCH v3 4/5] builtin/hash-object: " Junio C Hamano
2024-05-13 23:13 ` Junio C Hamano
2024-05-14 4:32 ` Patrick Steinhardt
2024-05-14 15:55 ` Junio C Hamano
2024-05-13 22:41 ` [PATCH v3 5/5] apply: " Junio C Hamano
2024-05-14 1:14 ` [PATCH v4 0/5] Fix use of uninitialized hash algorithms Junio C Hamano
2024-05-14 1:14 ` [PATCH v4 1/5] setup: add an escape hatch for "no more default hash algorithm" change Junio C Hamano
2024-05-14 4:32 ` Patrick Steinhardt
2024-05-14 15:05 ` Junio C Hamano
2024-05-14 17:19 ` Junio C Hamano
2024-05-15 12:23 ` Patrick Steinhardt
2024-05-16 15:31 ` Junio C Hamano
2024-05-14 1:14 ` [PATCH v4 2/5] t1517: test commands that are designed to be run outside repository Junio C Hamano
2024-05-14 4:32 ` Patrick Steinhardt
2024-05-14 15:08 ` Junio C Hamano
2024-05-15 12:24 ` Patrick Steinhardt
2024-05-15 14:15 ` Junio C Hamano
2024-05-15 14:25 ` Patrick Steinhardt
2024-05-15 15:40 ` Junio C Hamano
2024-05-14 1:14 ` [PATCH v4 3/5] builtin/patch-id: fix uninitialized hash function Junio C Hamano
2024-05-14 1:14 ` [PATCH v4 4/5] builtin/hash-object: " Junio C Hamano
2024-05-17 23:49 ` Junio C Hamano
2024-05-20 21:19 ` Junio C Hamano
2024-05-20 22:45 ` Junio C Hamano
2024-05-14 1:14 ` [PATCH v4 5/5] apply: " Junio C Hamano
2024-05-20 23:14 ` [PATCH v5 0/5] Fix use of uninitialized hash algorithms Junio C Hamano
2024-05-20 23:14 ` [PATCH v5 1/5] setup: add an escape hatch for "no more default hash algorithm" change Junio C Hamano
2024-05-21 7:57 ` Patrick Steinhardt
2024-05-21 15:59 ` Junio C Hamano
2024-05-20 23:14 ` [PATCH v5 2/5] t1517: test commands that are designed to be run outside repository Junio C Hamano
2024-05-20 23:14 ` [PATCH v5 3/5] builtin/patch-id: fix uninitialized hash function Junio C Hamano
2024-05-20 23:14 ` [PATCH v5 4/5] builtin/hash-object: " Junio C Hamano
2024-05-20 23:14 ` [PATCH v5 5/5] apply: " Junio C Hamano
2024-05-21 7:58 ` Patrick Steinhardt
2024-05-21 13:36 ` Junio C Hamano
2024-05-21 7:58 ` [PATCH v5 0/5] Fix use of uninitialized hash algorithms Patrick Steinhardt
2024-05-21 18:07 ` Junio C Hamano [this message]
2024-05-22 4:51 ` Patrick Steinhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqpltf9gz3.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.