Re: [PATCH] githooks.txt: Clarify documentation on reference-transaction hook
From: Jeff King <hidden>
Date: 2021-02-26 06:04:41
On Thu, Feb 25, 2021 at 06:50:12AM +0100, Patrick Steinhardt wrote:
The reference-transaction hook doesn't clearly document its scope and what values it receives as input. Document it to make it less surprising and clearly delimit its (current) scope. Signed-off-by: Patrick Steinhardt <redacted> --- I've been postponing doing this simple doc update for far too long, but here it finally is. It simply clarifies its current workings and limitations without changing anything. This is not supposed to be a "We don't want it to ever cover symrefs", but rather to avoid confusion.
I think that's a good step forward. We might want to say "does not cover symbolic references (but that may change in the future)" to make it clear that nothing is definite. OTOH, I suspect adding them would require a change to the hook's stdin format, so it is not like a hook could be written in a way to magically handle them if things change in the future.
quoted hunk ↗ jump to hunk
@@ -492,6 +493,13 @@ receives on standard input a line of the format: <old-value> SP <new-value> SP <ref-name> LF +where `<old-value>` is the old object name passed into the reference +transaction, `<new-value>` is the new object name to be stored in the +ref and `<ref-name>` is the full name of the ref. When force updating +the reference regardless of its current value or when the reference is +to be created anew, `<old-value>` is 40 `0`. To distinguish these cases, +you can inspect the current value of `<ref-name>` via `git rev-parse`.
We should probably avoid saying "40" here. Maybe "all zeroes" or something. -Peff