All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: David Marchand <david.marchand@redhat.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
	dev@dpdk.org, Qi Zhang <qi.z.zhang@intel.com>
Subject: Re: [PATCH] devtools: check commit log fixes syntax
Date: Wed, 30 Jan 2019 11:17:00 +0000	[thread overview]
Message-ID: <7d48eede-61eb-9dc0-ea1b-799489850eb0@intel.com> (raw)
In-Reply-To: <CAJFAV8zw9BfDn+eFMHdEnjzSdhWKPRdGDnao+sJMwvMX31Y9LQ@mail.gmail.com>

On 1/30/2019 9:58 AM, David Marchand wrote:
> On Tue, Jan 29, 2019 at 7:07 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> 
>> On 1/29/2019 5:34 PM, David Marchand wrote:
>>> On Tue, Jan 29, 2019 at 4:31 PM Ferruh Yigit <ferruh.yigit@intel.com>
>> wrote:
>>>
>>>> Fixes line commit id length defined as 12 in fixline alias:
>>>> fixline = log -1 --abbrev=12 --format='Fixes: %h (\"%s\")%nCc: %ae'
>>>>
>>>> Check if the Fixes line commit id length matches the defined value.
>>>>
>>>
>>> Can't git decide to report a longer string in case of collisions of
>>> abbreviated id ?
>>>
>>> Tried this for 2 characters, and git forcefully reported 5 chars:
>>> $ git log -1 --abbrev=2 origin/master --format='Fixes: %h (\"%s\")'
>>> Fixes: a2f9c (\"version: 19.02-rc4\")
>>>
>>> I did not find any collisions with 12 characters abbreviated commitid,
>> but
>>> I am not sure enforcing the check on exactly 12 characters is a good idea
>>> in the long run.
>>
>> Yes git can report a longer string in case of collisions, but I don't
>> expect to
>> have one with 12 characters.
>>
>> This is mainly for some cases either people use full 40 chars or small
>> ones.
>>
>> Indeed in background I am (and most probably Thomas too) fixing them while
>> merging, I thought it is better idea to integrate that into script so that
>> developers can be aware of the syntax issue and fix it before sending.
>>
> 
> I can understand you want to avoid such edits yes, and so this patch.
> 
> However, I think we can do one more thing.
> The contributing guide does indicate you are supposed to run both
> checkpatches.sh and check-git-log.sh.
> I am pretty sure I missed this second step in the past..
> 
> How about calling check-git-log.sh from checkpatches.sh ?
> check-git-log.sh does not support patch files as input, so it would need
> support for it.

That sounds good idea to have single script to run.

> 
> 
> 
>>>
>>>
>>>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>>>> ---
>>>> Cc: Qi Zhang <qi.z.zhang@intel.com>
>>>> ---
>>>>  devtools/check-git-log.sh | 5 +++++
>>>>  1 file changed, 5 insertions(+)
>>>>
>>>> diff --git a/devtools/check-git-log.sh b/devtools/check-git-log.sh
>>>> index d39064f9d..f4d6c1fba 100755
>>>> --- a/devtools/check-git-log.sh
>>>> +++ b/devtools/check-git-log.sh
>>>> @@ -177,6 +177,11 @@ bad=$(for fixtag in $fixtags ; do
>>>>  done | sed 's,^,\t,')
>>>>  [ -z "$bad" ] || printf "Wrong 'Fixes' reference:\n$bad\n"
>>>>
>>>> +bad=$(for fixtag in $fixtags ; do
>>>>
>>> +       echo $fixtag | awk '{print $2}' | awk 'length != 12 {print}'
>>>>
>>> +done)
>>>>
>>>
>>> Not an awk expert (this could be done in pure shell, but this is a
>>> different story :-p), but I would see something like:
>>>
>>> for fixtag in $fixtags; do
>>>   echo $fixtag | awk 'length($2) < 12 { print $2 }';
>>> done
>>
>> Yes, looks better, I will update the script.
>>
>> And no specific preference on shell or awk implementation, there is no
>> performance concern in this script and awk already used by it, I am good
>> as long
>> as it is functional.
>>
> 
> Well, I've seen Thomas reply, looks even better ;-).
> 
> 

  reply	other threads:[~2019-01-30 11:17 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-29 15:30 [PATCH] devtools: check commit log fixes syntax Ferruh Yigit
2019-01-29 17:34 ` David Marchand
2019-01-29 18:07   ` Ferruh Yigit
2019-01-30  9:58     ` David Marchand
2019-01-30 11:17       ` Ferruh Yigit [this message]
2019-01-30 11:24         ` Bruce Richardson
2019-01-30 11:27         ` Thomas Monjalon
2019-01-30 11:31           ` Bruce Richardson
2019-01-30 12:23             ` Thomas Monjalon
2019-01-29 20:41 ` Thomas Monjalon
2019-01-30 11:15   ` Ferruh Yigit
2019-01-30 11:29     ` Bruce Richardson
2019-01-30 11:31       ` Thomas Monjalon
2019-01-30 11:35         ` Bruce Richardson
2019-01-30 12:22           ` Thomas Monjalon

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=7d48eede-61eb-9dc0-ea1b-799489850eb0@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=qi.z.zhang@intel.com \
    --cc=thomas@monjalon.net \
    /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.