From: Jeff King <peff@peff.net>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
git@vger.kernel.org, "Han-Wen Nienhuys" <hanwen@google.com>,
"Johannes Schindelin" <johannes.schindelin@gmx.de>
Subject: Re: Referring to commits in commit messages
Date: Wed, 19 Dec 2018 17:48:10 -0500 [thread overview]
Message-ID: <20181219224810.GA20888@sigill.intra.peff.net> (raw)
In-Reply-To: <20181219183927.GA228469@google.com>
On Wed, Dec 19, 2018 at 10:39:27AM -0800, Jonathan Nieder wrote:
> Jeff King wrote:
>
> > - web interfaces like GitHub won't linkify this type of reference
> > (whereas they will for something that looks like a hex object id)
> >
> > - my terminal makes it easy to select hex strings, but doesn't
> > understand this git-describe output :)
> >
> > These tools _could_ be taught a regex like /v(\d+.)(-rc\d+)?([~^]+d)*/.
> > But matching hex strings is a lot simpler, and works across many
> > projects.
>
> Is there some rule about how long the hex string has to be for this to
> work?
In both cases, it has to be 7 characters. In my experience, it doesn't
produce a lot of false positives (in the case of GitHub, I believe it
actually confirms that it's a real commit; in my terminal, it highlights
anything plausible).
> > In commit 1234abcd (the subject line, 2016-01-01, v2.11.0), we did
> > blah blah blah
>
> The issue with this is that it is ambiguous about what the tag name is
> referring to: does that mean that "git describe" and "git version"
> tell me that v2.11.0 is the nearest *previous* release to that commit
> or that "git name-rev" tells me that v2.11.0 is a nearby *subsequent*
> release that contains it?
Sure, it's ambiguous if you've never seen it. But if it becomes a
convention in the project, then I don't think that's an obstacle.
I'm also not sure it really matters all that much either way. If you buy
my argument that this is just about placing the general era of the
commit in the mind of the reader, then "just before v2.11" or "just
after v2.11" are about the same.
> Of course the latter is the only answer that's useful, but in practice
> the former is what people tend to do when they are trying to follow a
> convention like this. So we'd need some automatic linting to make it
> useful.
I thought we were just talking about an informational message in one
human's writing, that would be read and interpreted by another human
(the commit id is the thing that remains machine-readable). Automatic
linting seems a bit overboard...
> I think a more promising approach is the Fixes trailer Duy mentioned,
> which has been working well for the Linux kernel project. I'll follow
> up in a reply to his message.
I think that's a good idea if something is in fact being fixed. But
there are many other reasons to refer to another commit in prose (or
even outside of a commit message entirely).
-Peff
next prev parent reply other threads:[~2018-12-19 22:48 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-17 16:59 [PATCH] stripspace: allow -s/-c outside git repository Jonathan Nieder
2018-12-18 6:09 ` Martin Ågren
2018-12-18 12:00 ` Johannes Schindelin
2018-12-19 21:52 ` Martin Ågren
2018-12-18 11:58 ` Johannes Schindelin
2018-12-19 14:02 ` Referring to commits in commit messages Ævar Arnfjörð Bjarmason
2018-12-19 17:11 ` Duy Nguyen
2018-12-19 22:14 ` Jonathan Nieder
2018-12-20 0:18 ` Ævar Arnfjörð Bjarmason
2018-12-24 0:01 ` Jacob Keller
2018-12-19 17:38 ` SZEDER Gábor
2018-12-19 18:22 ` Jeff King
2018-12-19 18:39 ` Jonathan Nieder
2018-12-19 22:48 ` Jeff King [this message]
2018-12-19 23:29 ` Jonathan Nieder
2018-12-20 2:51 ` Jeff King
2018-12-19 18:52 ` Ævar Arnfjörð Bjarmason
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=20181219224810.GA20888@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=hanwen@google.com \
--cc=johannes.schindelin@gmx.de \
--cc=jrnieder@gmail.com \
/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 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 NNTP newsgroup(s).