title: Git rebase --preserve-merges fails
body: <p>I have a (large) commit tree that contains several merge commits that I want to rebase to another commit. Doing a normal rebase causes git to ask me to resolve merge conflicts. I didn't want to review each merge, because this would be a lot of work. After finding out about the --preserve-merges option, which is neatly explained <a href="https://stackoverflow.com/questions/15915430/what-exactly-does-gits-rebase-preserve-merges-do-and-why">here</a>, I thought I found the perfect tool for this task. However, I cannot seem to get it to work properly. I have created a toy example that demonstrates the problem.</p>
  
  <p>Starting from an empty folder, we first create a branch with a merge and another branch on which we will rebase.</p>
  
  <pre><code>A---B--
  \      \
   ---C---D
   \
    ---E
  </code></pre>
  
  <p>Where <em>master</em> refers to <em>B</em>, <em>branch</em> refers to <em>D</em> and <em>goodbye-branch</em> refers to <em>E</em>.</p>
  
  <pre><code>git init
  echo Hello &gt; Hello.txt
  git add Hello.txt
  git commit -m "Create Hello.txt (commit A)"
  git tag start
  
  echo World! &gt;&gt; Hello.txt
  git commit -am "Change to Hello World (commit B)"
  
  git checkout start
  git checkout -b branch
  echo Dave &gt;&gt; Hello.txt
  git commit -am "Change to Hello Dave (commit C)"
  
  git merge master
  echo Hello World, Dave! &gt; Hello.txt
  git add Hello.txt
  git commit -m "Merge branch master into branch (commit D)"
  
  git checkout start
  git checkout -b goodbye-branch
  echo Goodbye &gt; Goodbye.txt
  git add Goodbye.txt
  git commit -m "Add Goodbye.txt (commit E)"
  </code></pre>
  
  <p>Up to this point, everything went ok. There was a merge conflict, but we resolved it. Now we try to rebase <em>branch</em> onto <em>E</em> to end up with the following commit tree:</p>
  
  <pre><code>A---E----B'
       \    \
        C'---D'
  
  git checkout branch
  git rebase -p goodbye-branch
  </code></pre>
  
  <p>This end with the following error:</p>
  
  <pre><code>Auto-merging Hello.txt
  CONFLICT (content): Merge conflict in Hello.txt
  Automatic merge failed; fix conflicts and then commit the result.
  Error redoing merge f567809e2cc91244cc7fdac210e1771dc75e4d86
  </code></pre>
  
  <p>The file contains the following content:</p>
  
  <pre><code>Hello
  &lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD
  Dave
  =======
  World!
  &gt;&gt;&gt;&gt;&gt;&gt;&gt; 0437403c97f33f229e41ec9584ce891a50052e48
  </code></pre>
  
  <p>What am I doing wrong? I would expect git to be able to use commit <em>D</em> to resolve the merge conflict it encounters while rebasing.</p>
  
  <p>I am using Git 1.9.4.msysgit.1, which is the most recent version right now.</p>