From: Scott Moser <smoser@brickies.net>
To: "Josef \"Jeff\" Sipek" <jsipek@cs.sunysb.edu>
Cc: git@vger.kernel.org, Scott Moser <smoser@brickies.net>
Subject: [PATCH] fix guilt-pop and push to fail if no relevant patches
Date: Mon, 29 Sep 2008 14:51:33 -0400 [thread overview]
Message-ID: <1222714293-9680-1-git-send-email-smoser@brickies.net> (raw)
currently guilt-pop and guilt-push will exit with '0' if there are no more
relevant patches in the series (ie, if you've pushed or popped all of them)
This means that you cannot do something like:
while guilt-push; do
guilt refresh || break
done
for reference, quilt does exit with non-zero in those cases:
$ quilt push -a && quilt push
File series fully applied, ends at patch my.patch
$ echo $?
1
$ quilt pop -a; quilt pop
No patch removed
$ echo $?
2
Signed-off-by: Scott Moser <smoser@brickies.net>
---
guilt-pop | 3 +--
guilt-push | 43 ++++++++++++++++++++++++-------------------
regression/t-021.out | 3 +++
3 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/guilt-pop b/guilt-pop
index db8473e..8a83fdb 100755
--- a/guilt-pop
+++ b/guilt-pop
@@ -45,8 +45,7 @@ patch="$1"
[ ! -z "$all" ] && patch="-a"
if [ ! -s "$applied" ]; then
- disp "No patches applied."
- exit 0
+ die "No patches applied."
elif [ "$patch" = "-a" ]; then
# we are supposed to pop all patches
diff --git a/guilt-push b/guilt-push
index 018f9ac..48f886b 100755
--- a/guilt-push
+++ b/guilt-push
@@ -97,22 +97,27 @@ fi
sidx=`wc -l < $applied`
sidx=`expr $sidx + 1`
-get_series | sed -n -e "${sidx},${eidx}p" | while read p
-do
- disp "Applying patch..$p"
- if [ ! -f "$GUILT_DIR/$branch/$p" ]; then
- die "Patch $p does not exist. Aborting."
- fi
-
- push_patch "$p" $abort_flag
-
- # bail if necessary
- if [ $? -eq 0 ]; then
- disp "Patch applied."
- elif [ -z "$abort_flag" ]; then
- die "Patch applied with rejects. Fix it up, and refresh."
- else
- die "To force apply this patch, use 'guilt push -f'"
- fi
-done
-
+get_series | sed -n -e "${sidx},${eidx}p" |
+ {
+ did_patch=0
+ while read p
+ do
+ disp "Applying patch..$p"
+ if [ ! -f "$GUILT_DIR/$branch/$p" ]; then
+ die "Patch $p does not exist. Aborting."
+ fi
+
+ push_patch "$p" $abort_flag
+
+ # bail if necessary
+ if [ $? -eq 0 ]; then
+ disp "Patch applied."
+ elif [ -z "$abort_flag" ]; then
+ die "Patch applied with rejects. Fix it up, and refresh."
+ else
+ die "To force apply this patch, use 'guilt push -f'"
+ fi
+ did_patch=1
+ done
+ [ $did_patch -ge 1 ] || die "no patches to apply"
+ }
diff --git a/regression/t-021.out b/regression/t-021.out
index cd8ae96..44771cb 100644
--- a/regression/t-021.out
+++ b/regression/t-021.out
@@ -822,6 +822,7 @@ index 0000000..8baef1b
@@ -0,0 +1 @@
+abc
% guilt-push --all
+no patches to apply
% guilt-pop -n -1
Invalid number of patches to pop.
% list_files
@@ -908,6 +909,7 @@ index 0000000..8baef1b
@@ -0,0 +1 @@
+abc
% guilt-push --all
+no patches to apply
% guilt-pop -n 0
No patches requested to be removed.
% list_files
@@ -994,6 +996,7 @@ index 0000000..8baef1b
@@ -0,0 +1 @@
+abc
% guilt-push --all
+no patches to apply
% guilt-pop -n 1
Now at remove.
% list_files
--
1.5.6.3
next reply other threads:[~2008-09-29 18:54 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-29 18:51 Scott Moser [this message]
2008-10-17 11:37 ` [PATCH] fix guilt-pop and push to fail if no relevant patches Scott Moser
2008-10-17 14:28 ` Josef 'Jeff' Sipek
2008-10-17 14:40 ` Scott Moser
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=1222714293-9680-1-git-send-email-smoser@brickies.net \
--to=smoser@brickies.net \
--cc=git@vger.kernel.org \
--cc=jsipek@cs.sunysb.edu \
/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).