devtools: select patches to check with git range

Message ID 1553260606-28325-1-git-send-email-david.marchand@redhat.com
State Changes Requested, archived
Delegated to: Thomas Monjalon
Headers show
Series
  • devtools: select patches to check with git range
Related show

Checks

Context Check Description
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

David Marchand March 22, 2019, 1:16 p.m.
Rather than default to origin/master.., it can be handy to choose the
range you want to check.

Example on a branch rebased on next-net:

Before:
[dmarchan@dmarchan dpdk]$ ./devtools/checkpatches.sh
...
...
67/69 valid patches

After:
[dmarchan@dmarchan dpdk]$ ./devtools/checkpatches.sh -r next-net/master..

3/3 valid patches

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 devtools/checkpatches.sh | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

Comments

Thomas Monjalon May 9, 2019, 9:54 p.m. | #1
22/03/2019 14:16, David Marchand:
> --- a/devtools/checkpatches.sh
> +++ b/devtools/checkpatches.sh
> -	usage: $(basename $0) [-q] [-v] [-nX|patch1 [patch2] ...]]
> +	usage: $(basename $0) [-q] [-v] [-nX|patch1 [patch2] ...]] [-r range]

The option -r should be before the filename arguments,
and inside the same brackets as -n as they are exclusive.
(je clair ne pas ;)

>  	The patches to check can be from stdin, files specified on the command line,
> -	or latest git commits limited with -n option (default limit: origin/master).
> +	or latest git commits limited with -n option or commits in the range
> +	specified with -r option (default: origin/master..).

I suggest this reword:

  	The patches to check can be from stdin, files specified on the command line,
	latest git commits limited with -n option, or commits in the git range
	specified with -r option (default: "origin/master..").

[...]
>  	if [ $number -eq 0 ] ; then
> -		commits=$(git rev-list --reverse origin/master..)
> +		commits=$(git rev-list --reverse $range)
>  	else
>  		commits=$(git rev-list --reverse --max-count=$number HEAD)
>  	fi

Looks good and very useful, thanks :)
Thomas Monjalon May 9, 2019, 10:05 p.m. | #2
09/05/2019 23:54, Thomas Monjalon:
> 22/03/2019 14:16, David Marchand:
> > --- a/devtools/checkpatches.sh
> > +++ b/devtools/checkpatches.sh
> > -	usage: $(basename $0) [-q] [-v] [-nX|patch1 [patch2] ...]]
> > +	usage: $(basename $0) [-q] [-v] [-nX|patch1 [patch2] ...]] [-r range]
> 
> The option -r should be before the filename arguments,
> and inside the same brackets as -n as they are exclusive.
> (je clair ne pas ;)
> 
> >  	The patches to check can be from stdin, files specified on the command line,
> > -	or latest git commits limited with -n option (default limit: origin/master).
> > +	or latest git commits limited with -n option or commits in the range
> > +	specified with -r option (default: origin/master..).
> 
> I suggest this reword:
> 
>   	The patches to check can be from stdin, files specified on the command line,
> 	latest git commits limited with -n option, or commits in the git range
> 	specified with -r option (default: "origin/master..").
> 
> [...]
> >  	if [ $number -eq 0 ] ; then
> > -		commits=$(git rev-list --reverse origin/master..)
> > +		commits=$(git rev-list --reverse $range)
> >  	else
> >  		commits=$(git rev-list --reverse --max-count=$number HEAD)
> >  	fi
> 
> Looks good and very useful, thanks :)

I'm sure I'll find this new option quite useful,
so please add my agreement:
Acked-by: Thomas Monjalon <thomas@monjalon.net>

Patch

diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh
index 3272774..359d353 100755
--- a/devtools/checkpatches.sh
+++ b/devtools/checkpatches.sh
@@ -44,13 +44,14 @@  trap "clean_tmp_files" INT
 
 print_usage () {
 	cat <<- END_OF_HELP
-	usage: $(basename $0) [-q] [-v] [-nX|patch1 [patch2] ...]]
+	usage: $(basename $0) [-q] [-v] [-nX|patch1 [patch2] ...]] [-r range]
 
 	Run Linux kernel checkpatch.pl with DPDK options.
 	The environment variable DPDK_CHECKPATCH_PATH must be set.
 
 	The patches to check can be from stdin, files specified on the command line,
-	or latest git commits limited with -n option (default limit: origin/master).
+	or latest git commits limited with -n option or commits in the range
+	specified with -r option (default: origin/master..).
 	END_OF_HELP
 }
 
@@ -79,12 +80,14 @@  check_forbidden_additions() { # <patch>
 }
 
 number=0
+range='origin/master..'
 quiet=false
 verbose=false
-while getopts hn:qv ARG ; do
+while getopts hn:qr:v ARG ; do
 	case $ARG in
 		n ) number=$OPTARG ;;
 		q ) quiet=true ;;
+		r ) range=$OPTARG ;;
 		v ) verbose=true ;;
 		h ) print_usage ; exit 0 ;;
 		? ) print_usage ; exit 1 ;;
@@ -172,7 +175,7 @@  elif [ ! -t 0 ] ; then # stdin
 	check '' '' "$subject"
 else
 	if [ $number -eq 0 ] ; then
-		commits=$(git rev-list --reverse origin/master..)
+		commits=$(git rev-list --reverse $range)
 	else
 		commits=$(git rev-list --reverse --max-count=$number HEAD)
 	fi