git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Johan Herland <johan@herland.net>
To: Thomas Rast <tr@thomasrast.ch>
Cc: Christian Couder <christian.couder@gmail.com>,
	Josh Triplett <josh@joshtriplett.org>,
	Michael Haggerty <mhagger@alum.mit.edu>,
	Git mailing list <git@vger.kernel.org>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	Greg KH <greg@kroah.com>
Subject: Re: [PATCH] commit: Add -f, --fixes <commit> option to add Fixes: line
Date: Wed, 30 Oct 2013 18:53:52 +0100	[thread overview]
Message-ID: <CALKQrgc297dqaxBNDT-N831a94gF7TyDrjt2y4DpOdT_tkyayA@mail.gmail.com> (raw)
In-Reply-To: <87txg1hwsa.fsf@linux-k42r.v.cablecom.net>

On Mon, Oct 28, 2013 at 11:10 PM, Thomas Rast <tr@thomasrast.ch> wrote:
> Johan Herland <johan@herland.net> 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.

Yes, and I don't like using the precedent of "Signed-off-by" as an
argument to push support for more (IMHO project-specific) footers into
core Git. Hence, I'd rather see the "Signed-off-by" reimplemented as a
hook (obviously, the -s option for "git commit" would have to remain
for backward-compatibility).

> * 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.

I'm not so sure we can make those assumptions. One might conceivably
imagine a "Fixes:" footer that refers to a bug ID, and not a commit.
Also, projects might want to apply different rules on what may appear
in which footer. E.g. one could e.g. want to enforce that the ident
listed in "Reviewed-by:" or "Signed-off-by:" must always appear in a
project-specific REVIEWERS.txt or AUTHORS.txt file. Since we don't
really know what projects might want, we shouldn't make too many
assumptions on how these footers will be used... That said, I am not
(or at least no longer) opposed to generic support in core Git for
processing these footers, as long as that support is flexible/generic
in nature, and equally available to be reused from within hooks as
from within core Git.

> 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

How the config ends up looking is not actually that interesting to me
(not at this stage, at least). My objection is to adding support for
specific footers with specific interpretations tailored specifically
for one (or a few) projects. Such things only open the door to more
bloat. Instead, we already have the hooks for implementing such
project-specific rules and conventions. This is the core of my
argument. Since then, the discussion has moved towards generic and
flexible support for commonly-used footers, and I don't really have a
problem with that, as long as it is easily reusable (and extensible)
by a project's own hooks.

...Johan

-- 
Johan Herland, <johan@herland.net>
www.herland.net

  parent reply	other threads:[~2013-10-30 17:54 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20131024122255.GI9378@mwanda>
     [not found] ` <20131024122512.GB9534@mwanda>
     [not found]   ` <20131026181709.GB10488@kroah.com>
2013-10-27  1:34     ` [PATCH] commit: Add -f, --fixes <commit> option to add Fixes: line Josh Triplett
2013-10-27  5:42       ` Michael Haggerty
2013-10-27  6:37         ` Theodore Ts'o
2013-10-27  7:14         ` Josh Triplett
2013-10-27  8:03           ` [Ksummit-2013-discuss] " Michel Lespinasse
2013-10-27  9:23             ` Josh Triplett
2013-10-27  8:09           ` Thomas Rast
2013-10-27  9:20             ` Josh Triplett
2013-10-27 10:59               ` Johan Herland
2013-10-27 19:10                 ` Christian Couder
2013-10-28  2:46                   ` Johan Herland
2013-10-28 22:10                     ` Thomas Rast
2013-10-29  2:02                       ` Jeff King
2013-10-30 17:53                       ` Johan Herland [this message]
2013-10-29  6:23                     ` Christian Couder
2013-10-30 19:07                       ` Johan Herland
2013-11-02 12:54                         ` Christian Couder
2013-10-27  9:26             ` Stefan Beller
2013-10-27 16:30               ` Thomas Rast
2013-10-27 17:03                 ` Stefan Beller
2013-10-31 23:03                 ` Stefan Beller
2013-10-31 23:04                   ` [PATCH] Documentation: add a script to generate a (long/short) options overview Stefan Beller
2013-10-31 23:09                     ` Stefan Beller
2013-10-31 23:45                       ` brian m. carlson
2013-11-01  0:09                         ` Junio C Hamano
2013-10-28  9:02           ` [PATCH] commit: Add -f, --fixes <commit> option to add Fixes: line Michael Haggerty
2013-10-28 11:29             ` Johan Herland
2013-10-29  2:08               ` Jeff King
2013-10-29  8:26                 ` Matthieu Moy
2013-10-30 18:12                 ` Johan Herland
2013-10-31  6:28                   ` Duy Nguyen
2013-10-31 17:20                     ` Junio C Hamano
2013-10-31 23:52                       ` Duy Nguyen
2013-11-01  0:16                       ` Johan Herland
2013-10-27  8:33       ` Duy Nguyen
2013-10-27  9:13         ` Josh Triplett
2013-10-28  0:49       ` Jim Hill
2013-10-28  1:52       ` Junio C Hamano
2013-10-28  7:16         ` Josh Triplett
2013-10-28  8:27           ` Michael Haggerty
2013-10-28  8:59           ` [ksummit-attendees] " Christoph Hellwig
2013-10-28 23:09             ` Benjamin Herrenschmidt
2013-10-28 23:38               ` Russell King - ARM Linux
2013-10-28 23:41               ` Russell King - ARM Linux
2013-10-28  9:08         ` Junio C Hamano
2013-10-29  4:45           ` Christian Couder
2013-10-29 19:54             ` Junio C Hamano
2013-10-30 17:28       ` Tony Luck
2013-10-30 18:33         ` Junio C Hamano

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALKQrgc297dqaxBNDT-N831a94gF7TyDrjt2y4DpOdT_tkyayA@mail.gmail.com \
    --to=johan@herland.net \
    --cc=christian.couder@gmail.com \
    --cc=dan.carpenter@oracle.com \
    --cc=git@vger.kernel.org \
    --cc=greg@kroah.com \
    --cc=josh@joshtriplett.org \
    --cc=mhagger@alum.mit.edu \
    --cc=tr@thomasrast.ch \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).