Merge branch 'bc/fix-rebase-merge-skip' into maint
authorJunio C Hamano <gitster@pobox.com>
Wed, 16 Jul 2014 18:16:16 +0000 (11:16 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Jul 2014 18:16:16 +0000 (11:16 -0700)
During "git rebase --merge", a conflicted patch could not be
skipped with "--skip" if the next one also conflicted.

* bc/fix-rebase-merge-skip:
rebase--merge: fix --skip with two conflicts in a row

1  2 
git-rebase--merge.sh
diff --combined git-rebase--merge.sh
index 71429fd74373f3f804fc841b5dd60faca2baaec6,f6b5dd03d76ab7a0aa804ba110bf73cce031c641..66c64d7ef24d8eeb880428b132bb15997aac9c4c
@@@ -27,7 -27,7 +27,7 @@@ continue_merge () 
        cmt=`cat "$state_dir/current"`
        if ! git diff-index --quiet --ignore-submodules HEAD --
        then
 -              if ! git commit --no-verify -C "$cmt"
 +              if ! git commit ${gpg_sign_opt:+"$gpg_sign_opt"} --no-verify -C "$cmt"
                then
                        echo "Commit failed, please do not call \"git commit\""
                        echo "directly, but instead do one of the following: "
  }
  
  call_merge () {
-       cmt="$(cat "$state_dir/cmt.$1")"
+       msgnum="$1"
+       echo "$msgnum" >"$state_dir/msgnum"
+       cmt="$(cat "$state_dir/cmt.$msgnum")"
        echo "$cmt" > "$state_dir/current"
        hd=$(git rev-parse --verify HEAD)
        cmt_name=$(git symbolic-ref HEAD 2> /dev/null || echo HEAD)
-       msgnum=$(cat "$state_dir/msgnum")
        eval GITHEAD_$cmt='"${cmt_name##refs/heads/}~$(($end - $msgnum))"'
        eval GITHEAD_$hd='$onto_name'
        export GITHEAD_$cmt GITHEAD_$hd