mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH] git-ptx-patches: support flag -n to get unnumbered patches
Date: Fri, 18 Sep 2020 15:10:02 +0200	[thread overview]
Message-ID: <20200918131002.9838-1-u.kleine-koenig@pengutronix.de> (raw)

When passing -n to git-ptx-patches the filenames in the patch stack
don't get a number as prefix.

The obvious downside is that the order of the patches isn't obvious
without the series file and you cannot create a patch stack if two
patches share have the same shortlog (which ideally shouldn't happen
...)

The obvious advantage is that when a patch is added or removed in the
middle of the series there are no renames for the later patches
necessary and the changes to series are smaller accordingly.

So if the patchstack of openssl used unnumbered patches the commit
c45d66cdae4b ("openssl: remove engines-path patch") would only have to
touch two lines in series (i.e. the removal of the patch and the changed
checksum) and contain no renames.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 scripts/git-ptx-patches | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/scripts/git-ptx-patches b/scripts/git-ptx-patches
index 721aa78ba31c..b2bed9664fca 100755
--- a/scripts/git-ptx-patches
+++ b/scripts/git-ptx-patches
@@ -19,6 +19,7 @@ fi
 
 remove_old=no
 tag=base
+numbered_patches=true
 
 if grep -q "$PTX_PATCHES_HEADER" .ptxdist/series; then
 	echo "Found series file generated by git-ptx-patches."
@@ -37,7 +38,7 @@ if [ "x$1" = "x--force-remove" ]; then
 	shift
 fi
 
-while getopts "ft:n:" opt; do
+while getopts "ft:n" opt; do
 	case "${opt}" in
 		f)
 			remove_old="force"
@@ -46,6 +47,9 @@ while getopts "ft:n:" opt; do
 			tag="${OPTARG}"
 			range="${tag}"
 			;;
+		n)
+			numbered_patches=false
+			;;
 	esac
 done
 shift $((${OPTIND} - 1))
@@ -129,7 +133,16 @@ fi
 GIT_EXTRA_ARGS="$GIT_EXTRA_ARGS --summary --stat=80"
 
 cat .ptxdist/series.0 > .ptxdist/series
-git format-patch -N $GIT_EXTRA_ARGS ${tagopt} -o .ptxdist/patches/ ${range} | sed -e 's,^.ptxdist/patches/,,' > .ptxdist/series.auto
+git format-patch -N $GIT_EXTRA_ARGS ${tagopt} -o .ptxdist/patches/ ${range} | while read patch; do
+	if "$numbered_patches"; then
+		patchname="${patch#.ptxdist/patches/}"
+	else
+		patchname="${patch#.ptxdist/patches/[0-9][0-9][0-9][0-9]-}"
+		mv -n "$patch" ".ptxdist/patches/$patchname"
+	fi
+	echo "$patchname"
+done > .ptxdist/series.auto
+
 cat .ptxdist/series.auto >> .ptxdist/series
 cat .ptxdist/series.1 >> .ptxdist/series
 cat .ptxdist/series | _md5sum >> .ptxdist/series
-- 
2.27.0


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

             reply	other threads:[~2020-09-18 13:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-18 13:10 Uwe Kleine-König [this message]
2020-09-22  7:48 ` Michael Olbrich
2020-09-22  8:47   ` [ptxdist] [PATCH v2] " Uwe Kleine-König
2020-10-09  6:38     ` [ptxdist] [APPLIED] " Michael Olbrich

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=20200918131002.9838-1-u.kleine-koenig@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /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