git-rebase --merge gets stuck on --skip

From: Marius Vollmer <hidden>
Date: 2016-06-15 22:45:09

Hi,

I might have found a bug with "git-rebase --merge".

When skipping over more than one commit in a row, only the first skip
has any effect.  The second and subsequent skips do not change the state
in .git/.dotest-merge.

This works fine with the regular git-rebase.

I use Debian's git-core 1:1.5.6.3-1.1.  I haven't tried newer versions.

How to reproduce:

  $ git clone http://zagadka.vm.bytemark.co.uk/git/project2.git
  $ cd project2/
  $ git checkout -b dev-1 origin/dev-1
  $ git rebase --merge master
  (fails with a conflict)
  $ cat .git/.dotest-merge/msgnum
  1
  $ git rebase --skip
  (fails with a different conflict)
  $ cat .git/.dotest-merge/msgnum
  1
  $ git rebase --skip
  (fails with the same conflict again)
  $ cat .git/.dotest-merge/msgnum
  1
  $ git rebase --skip
  $ cat .git/.dotest-merge/msgnum
  1
  $ git rebase --skip
  $ cat .git/.dotest-merge/msgnum
  1
  $ git rebase --skip
  $ cat .git/.dotest-merge/msgnum
  1

And so on ad infinitum...

In contrast, git-rebase without --merge eventually finishes:

  $ git clone http://zagadka.vm.bytemark.co.uk/git/project2.git
  $ cd project2/
  $ git checkout -b dev-1 origin/dev-1
  $ git rebase master
  (fails with a conflict)
  $ cat .dotest/next
  1
  $ git rebase --skip
  $ cat .dotest/next
  2
  $ git rebase --skip
  $ cat .dotest/next
  3
  $ git rebase --skip
  HEAD is now at 060b191 Master 2.
  Nothing to do.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help