Skip to content

Commit

Permalink
"guilt pop" now fails when there are no more patches to pop.
Browse files Browse the repository at this point in the history
This is analogous to how "guilt push" now fails when there are no more
patches to push.  Like push, the "--all" argument still succeeds even
if there was no need to pop anything.

Updated the test suite.

Signed-off-by: Per Cederqvist <[email protected]>
Signed-off-by: Josef 'Jeff' Sipek <[email protected]>
  • Loading branch information
Per Cederqvist committed Jan 22, 2015
1 parent 9efeee9 commit f15a26b
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 7 deletions.
17 changes: 11 additions & 6 deletions guilt-pop
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,19 @@ fi
patch="$1"
[ ! -z "$all" ] && patch="-a"

# Treat "guilt pop" as "guilt pop -n 1".
if [ -z "$patch" ]; then
patch=1
num=t
fi

if [ ! -s "$applied" ]; then
disp "No patches applied."
exit 0
if [ "$patch" = "-a" ]; then
exit 0
else
exit 1
fi
elif [ "$patch" = "-a" ]; then
# we are supposed to pop all patches

Expand All @@ -68,11 +78,6 @@ elif [ ! -z "$num" ]; then
# catch underflow
[ $eidx -lt 0 ] && eidx=0
[ $eidx -eq $sidx ] && die "No patches requested to be removed."
elif [ -z "$patch" ]; then
# we are supposed to pop only the current patch on the stack

sidx=`wc -l < "$applied"`
eidx=`expr $sidx - 1`
else
# we're supposed to pop only up to a patch, make sure the patch is
# in the series
Expand Down
2 changes: 2 additions & 0 deletions regression/t-021.out
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,8 @@ index 0000000..8baef1b
+++ b/def
@@ -0,0 +1 @@
+abc
% guilt pop
No patches applied.
% guilt push --all
Applying patch..modify
Patch applied.
Expand Down
6 changes: 6 additions & 0 deletions regression/t-021.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ guilt series | _tac | while read n ; do
cmd git log -p
done

#
# pop when there is nothing to pop
#

shouldfail guilt pop

#
# push all
#
Expand Down
6 changes: 5 additions & 1 deletion regression/t-061.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@ cmd list_files

for i in `seq 5`
do
cmd guilt pop
if [ $i -ge 5 ]; then
shouldfail guilt pop
else
cmd guilt pop
fi
cmd git for-each-ref
cmd guilt push
cmd git for-each-ref
Expand Down

0 comments on commit f15a26b

Please sign in to comment.