From: Sean Christopherson <sean.j.christopherson@intel.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Andy Whitcroft <apw@canonical.com>, Joe Perches <joe@perches.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] checkpatch: Validate Fixes: tag using 'commit' checks
Date: Tue, 3 Sep 2019 08:58:22 -0700 [thread overview]
Message-ID: <20190903155822.GC10768@linux.intel.com> (raw)
In-Reply-To: <20190831113939.7c2dad32@canb.auug.org.au>
On Sat, Aug 31, 2019 at 11:39:39AM +1000, Stephen Rothwell wrote:
> Hi Sean,
>
> On Fri, 30 Aug 2019 09:36:58 -0700 Sean Christopherson <sean.j.christopherson@intel.com> wrote:
> >
> > @@ -2803,10 +2805,15 @@ sub process {
> > ($id, $description) = git_commit_info($orig_commit,
> > $id, $orig_desc);
> >
> > - if (defined($id) &&
> > - ($short || $long || $space || $case || ($orig_desc ne $description) || !$hasparens)) {
> > +
> > + if (!defined($id)) {
> > + if ($init_tag =~ /fixes:/i) {
> > + ERROR("GIT_COMMIT_ID",
> > + "Target SHA1 '$orig_commit' does not exist\n" . $herecurr);
> > + }
>
> Unfortunately, git_commit_info() just returns the passed in $id (which
> is explicitly set earlier) if git is not available or you are not in a
> git repository (and that latter check is not entirely correct anyway).
>
> Also, what you really need to test is if the specified commit is an
> ancestor of the place in the maintainer's tree where this patch is to
> be applied. The commit may well exist in the developer's tree, but not
> be in the maintainer's tree :-(
True, but such an error would be caught if the maintainer or a reviewer
runs checkpatch after applying the commit, e.g. I'll run checkpatch as
part of reviewing a patch if I go through the effort of applying it,
which admittedly isn't all that often.
> This will, however, catch the cases where the SHA1 has been mistyped,
> but we should encourage people not to type them anyway, instead
> generating them using "git log".
What about adding an example formatting command to the error message, e.g.
ERROR: Target SHA1 '265381004993' does not exist, use `git show -s
--pretty='format:%h ("%s")'` or similar to verify and format the commit
description
The same blurb could be also added to the error message for bad formatting
ERROR: Please use git commit description style 'Fixes: <12+ chars of sha1>
("<title line>")', e.g. `git show -s --pretty='format:%h ("%s")'` -
ie. 'Fixes: 265381004994 ("Merge tag '5.3-rc6-smb3-fixes' of
git://git.samba.org/sfrench/cifs-2.6")
prev parent reply other threads:[~2019-09-03 15:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-30 16:36 [PATCH] checkpatch: Validate Fixes: tag using 'commit' checks Sean Christopherson
2019-08-31 1:39 ` Stephen Rothwell
2019-09-03 15:58 ` Sean Christopherson [this message]
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=20190903155822.GC10768@linux.intel.com \
--to=sean.j.christopherson@intel.com \
--cc=apw@canonical.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.