Re: [PATCH] commit: Add -f, --fixes <commit> option to add Fixes: line

From: Thomas Rast
Date: Mon Oct 28 2013 - 18:11:01 EST


Johan Herland <johan@xxxxxxxxxxx> writes:

> But I still don't see exactly what this option should do (inside "git
> commit") that would end up being useful across most/all projects, and
> not just something that could more easily be implemented in the
> *commit-msg hooks for relevant projects.

[Ok, admittedly I don't really know what to quote from your message,
since I'm mostly responding to the overall concept.]

I like the idea of putting all that in hooks, but I have two
observations:

* Signed-off-by: is already such a case (and was probably also added for
the kernel?) that _could_ have been dealt with using {prepare-,}commit-msg,
but has its own support in various git tools.

* In your list

> Fixes:
> Reported-by:
> Suggested-by:
> Improved-by:
> Acked-by:
> Reviewed-by:
> Tested-by:
> Signed-off-by:

and I might add

Cherry-picked-from:
Reverts:

if one were to phrase that as a footer/pseudoheader, observe that
there are only two kinds of these: footers that contain identities,
and footers that contain references to commits.

So why not support these use-cases? We could have something like
footer.foo.* configuration, e.g.

[footer "fixes"]
type = commit
suggest = true
[footer "acked-by"]
type = identity

where 'suggest' (please suggest a better name) means that git-commit
will put a blank one in the commit message template for you to fill in.
'commit' and 'identity' can have some elementary expansion and
validation tied to them. Some easy extensiblity (hooks?) might not
hurt, but then as you point out, the existing hooks already cover that.

Perhaps we could also have, for Gerrit (cf. [1]):

[footer "change-id"]
type = uuid

though admittedly I haven't investigated if it's okay to just put a
random string there, or it needs to have a specific value.


[1] http://thread.gmane.org/gmane.comp.version-control.git/236429

--
Thomas Rast
tr@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/