Christian Couder <[email protected]> writes:
> Signed-off-by: Christian Couder <[email protected]>
> ---
> Documentation/git-interpret-trailers.txt | 98
> +++++++++++++++++++++++++++++++-
> 1 file changed, 97 insertions(+), 1 deletion(-)
Very good to have these examples. They seem to be clearly written.
Having said that, this part made me go "Huh" for a few reasons.
> +* Configure a 'fix' trailer with a command to show the subject of a
> + commit that is fixed, and show how it works:
> ++
> +------------
> +$ git config trailer.fix.key "Fixes #"
> +$ git config trailer.fix.ifExists "overwrite"
> +$ git config trailer.fix.command "git log -1 --oneline --format=\"%h (%s)\"
> --abbrev-commit --abbrev=14 \$ARG"
> +$ git interpret-trailers <<EOF
> +> subject
> +>
> +> message
> +>
> +> fix: HEAD~2
> +> EOF
> +subject
> +
> +message
> +
> +Fixes #fe3187489d69c4 (subject of fixed commit)
> +------------
- It makes it appear that we have a convention to prefix "#" when
talking about a commit object name, but that is not what we
recommend to do. Do some projects refer to commit object names
that way?
- It has been my impression that "#123456", when people talk about
"Fixes #123456", refers to a bug ID in some tracking system, and
the scenario the example sets up "show the subject that is fixed"
would not help those who want to have such a linkage between bug
ID and fix.
I however do not think of a good mechanised way to fill in the bug
ID with script [*1*]. I suspect (but I am thinking aloud and am
open to better alternatives) it would be better to change this
example *not* to show use of trailer.*.command but have it just take
the bug ID literally to make it a demonstration that the trailer
does not have to end with "key: ". We can of course have your
example to turn a commit object name to human readable one-liner as
a separate one to illustrate how to use trailer.*.command, but I do
not think it is a good idea to call it "Fixes", as that may invite
confusions with a bug ID people would expect to see.
[Footnote]
*1* A workable project convention may be to document an existing bug
in a test-suite and detect a commit that fixes the bug, e.g.
- Document an expected-to-fail bug like so:
test_expect_failure 'bug #123456' '
... demonstrate breakage ...
'
when it is noticed to keep track of it.
- A commit that fixes the bug will have a hunk:
-test_expect_failure 'bug #123456' '
+test_expect_success 'bug #123456' '
and the trailer.fix.command can examine "git show" output of
the proposed commit to detect that hunk and extract "bug #"
from there.
Of course that is not _the_ single best convention, and it would
be too big for an example in this documentation.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html