DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ciara Power <ciara.power@intel.com>
To: thomas@monjalon.net, john.mcnamara@intel.com, marko.kovacevic@intel.com
Cc: dev@dpdk.org, ferruh.yigit@intel.com,
	Ciara Power <ciara.power@intel.com>
Subject: [dpdk-dev] [PATCH v4 1/2] devtools: standardize script arguments
Date: Tue, 23 Jun 2020 10:29:34 +0100	[thread overview]
Message-ID: <20200623092935.38459-2-ciara.power@intel.com> (raw)
In-Reply-To: <20200623092935.38459-1-ciara.power@intel.com>

This patch modifies the arguments expected by the check-git-log script,
to match the format of arguments for the checkpatches script. Both
scripts now take certain argument options in the same format, making
them easier to use.
e.g. Both now take a commit ID range by "-r <range>"

The checkpatches help print is also updated to include the "-h" option.

The contributor's guide includes the usage of both the checkpatches and
check-git-log scripts, which needed to be updated to reflect the now
standardised format.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

---
v4:
  - Merged doc changes into this patch.
  - Simplified documented script usage to reduce duplication.
  - Removed examples in comments.
v3:
  - Reworded check-git-log help text example.
  - Added comment to indicate new and old format argument parsing.
v2: Added exit 0 after print usage.
---
 devtools/check-git-log.sh           | 39 ++++++++++++++++++++++-------
 devtools/checkpatches.sh            |  2 +-
 doc/guides/contributing/patches.rst | 15 +++--------
 3 files changed, 35 insertions(+), 21 deletions(-)

diff --git a/devtools/check-git-log.sh b/devtools/check-git-log.sh
index 4e65be0e4..e5b430268 100755
--- a/devtools/check-git-log.sh
+++ b/devtools/check-git-log.sh
@@ -7,23 +7,44 @@
 # If any doubt about the formatting, please check in the most recent history:
 #	git log --format='%>|(15)%cr   %s' --reverse | grep -i <pattern>
 
-if [ "$1" = '-h' -o "$1" = '--help' ] ; then
+print_usage () {
 	cat <<- END_OF_HELP
-	usage: $(basename $0) [-h] [range]
+	usage: $(basename $0) [-h] [-nX|-r range]
 
 	Check commit log formatting.
-	The git range can be specified as a "git log" option,
-	e.g. -1 to check only the latest commit.
-	The default range starts from origin/master to HEAD.
+	The git commits to be checked can be specified as a "git log" option,
+	by latest git commits limited with -n option, or commits in the git
+	range specified with -r option.
+	e.g. To check only the last commit, ‘-n1’ or ‘-r@~..’ is used.
+	If no range provided, default is origin/master..HEAD.
 	END_OF_HELP
-	exit
-fi
+}
 
 selfdir=$(dirname $(readlink -f $0))
+# The script caters for two formats, the new preferred format, and the old
+# format to ensure backward compatibility.
+# The new format is aligned with the format of the checkpatches script,
+# and allows for specifying the patches to check by passing -nX or -r range.
+# The old format allows for specifying patches by passing -X or range
+# as the first argument.
 range=${1:-origin/master..}
+
+if [ "$range" = '--help' ] ; then
+	print_usage
+	exit 0
 # convert -N to HEAD~N.. in order to comply with git-log-fixes.sh getopts
-if printf -- $range | grep -q '^-[0-9]\+' ; then
-	range="HEAD$(printf -- $range | sed 's,^-,~,').."
+elif printf -- "$range" | grep -q '^-[0-9]\+' ; then
+	range="HEAD$(printf -- "$range" | sed 's,^-,~,').."
+else
+	while getopts hr:n: ARG ; do
+		case $ARG in
+			n ) range="HEAD~$OPTARG.." ;;
+			r ) range=$OPTARG ;;
+			h ) print_usage ; exit 0 ;;
+			? ) print_usage ; exit 1 ;;
+		esac
+	done
+	shift $(($OPTIND - 1))
 fi
 
 commits=$(git log --format='%h' --reverse $range)
diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh
index 158087f1c..5fc3b7d7b 100755
--- a/devtools/checkpatches.sh
+++ b/devtools/checkpatches.sh
@@ -38,7 +38,7 @@ options="$options $DPDK_CHECKPATCH_OPTIONS"
 
 print_usage () {
 	cat <<- END_OF_HELP
-	usage: $(basename $0) [-q] [-v] [-nX|-r range|patch1 [patch2] ...]]
+	usage: $(basename $0) [-h] [-q] [-v] [-nX|-r range|patch1 [patch2] ...]
 
 	Run Linux kernel checkpatch.pl with DPDK options.
 	The environment variable DPDK_CHECKPATCH_PATH must be set.
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 16b40225f..261c4b848 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -429,23 +429,16 @@ Once the environment variable is set, the script can be run as follows::
 
 The script usage is::
 
-   checkpatches.sh [-h] [-q] [-v] [patch1 [patch2] ...]]"
-
-Where:
-
-* ``-h``: help, usage.
-* ``-q``: quiet. Don't output anything for files without issues.
-* ``-v``: verbose.
-* ``patchX``: path to one or more patches.
+   checkpatches.sh [-h] [-q] [-v] [-nX|-r range|patch1 [patch2] ...]
 
 Then the git logs should be checked using the ``check-git-log.sh`` script.
 
 The script usage is::
 
-   check-git-log.sh [range]
-
-Where the range is a ``git log`` option.
+   check-git-log.sh [-h] [-nX|-r range]
 
+For both of the above scripts, the -n option is used to specify a number of commits from HEAD,
+and the -r option allows the user specify a ``git log`` range.
 
 .. _contrib_check_compilation:
 
-- 
2.17.1


  reply	other threads:[~2020-06-23  9:31 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-28 15:02 [dpdk-dev] [PATCH 0/2] standardize devtools check scripts Ciara Power
2020-01-28 15:02 ` [dpdk-dev] [PATCH 1/2] devtools: standardize script arguments Ciara Power
2020-01-28 15:40   ` Ferruh Yigit
2020-02-22 20:53   ` Thomas Monjalon
2020-03-31 13:11     ` Power, Ciara
2020-01-28 15:02 ` [dpdk-dev] [PATCH 2/2] devtools: added stats print Ciara Power
2020-01-28 15:41   ` Ferruh Yigit
2020-02-22 20:55   ` Thomas Monjalon
2020-05-06  9:55 ` [dpdk-dev] [PATCH v2 0/2] standardize devtools check scripts Ciara Power
2020-05-06  9:55   ` [dpdk-dev] [PATCH v2 1/2] devtools: standardize script arguments Ciara Power
2020-05-24 20:57     ` Thomas Monjalon
2020-05-28 14:37       ` Power, Ciara
2020-05-28 15:03         ` Thomas Monjalon
2020-05-06  9:55   ` [dpdk-dev] [PATCH v2 2/2] devtools: added stats print Ciara Power
2020-06-02 13:53 ` [dpdk-dev] [PATCH v3 0/3] standardize devtools check scripts Ciara Power
2020-06-02 13:53   ` [dpdk-dev] [PATCH v3 1/3] devtools: standardize script arguments Ciara Power
2020-06-17  9:40     ` Thomas Monjalon
2020-06-02 13:53   ` [dpdk-dev] [PATCH v3 2/3] devtools: added stats print Ciara Power
2020-06-02 13:53   ` [dpdk-dev] [PATCH v3 3/3] doc/guides: updated script usage for checking patches Ciara Power
2020-06-03 15:50     ` Ferruh Yigit
2020-06-17  9:46     ` Thomas Monjalon
2020-06-23  9:29 ` [dpdk-dev] [PATCH v4 0/2] standardize devtools check scripts Ciara Power
2020-06-23  9:29   ` Ciara Power [this message]
2020-06-23  9:29   ` [dpdk-dev] [PATCH v4 2/2] devtools: added stats print Ciara Power
2020-07-30 22:50     ` Thomas Monjalon
2020-07-30 22:52   ` [dpdk-dev] [PATCH v4 0/2] standardize devtools check scripts 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=20200623092935.38459-2-ciara.power@intel.com \
    --to=ciara.power@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=john.mcnamara@intel.com \
    --cc=marko.kovacevic@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 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).