Skip to content

Commit

Permalink
Fix git-am --skip
Browse files Browse the repository at this point in the history
git-am --skip does not unpack the next patch and ends up reapplying the
old patch, believing that it is the new patch in the sequence.

If the old patch applied successfully it will commit it with the
supposedly skipped log message and ends up dropping the following patch.
If the patch did not apply the user is left with the conflict he tried
to skip and has to unpack the next patch in the sequence by hand to get
git-am back on track.

By clearing the resume variable whenever skips bumps the sequence
counter we correctly unpack the next patch. I also added another
resume= in the case a patch file is missing from the sequence to
avoid the same problem when a file in the sequence was removed.

Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Jan Harkes authored and Junio C Hamano committed Dec 17, 2005
1 parent 6828399 commit 6922471
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions git-am.sh
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ this=`cat "$dotest/next"`
if test "$skip" = t
then
this=`expr "$this" + 1`
resume=
fi

if test "$this" -gt "$last"
Expand All @@ -225,6 +226,7 @@ do
msgnum=`printf "%0${prec}d" $this`
next=`expr "$this" + 1`
test -f "$dotest/$msgnum" || {
resume=
go_next
continue
}
Expand Down

0 comments on commit 6922471

Please sign in to comment.