title: How can I have merge conflicts between 2 branches with common ancestor?
body: <p>We have recently encountered a really odd issue using git while trying to merge two branches. The situation boils down to the following:</p>
  
  <ol>
  <li>branch <code>A</code> is some long-lived branch we want to merge back to main trunk <code>B</code> which has some other commits</li>
  <li>We want to merge <code>B</code> in <code>A</code> and then <code>A</code> back into <code>B</code> </li>
  <li>When doing <code>git checkout A; git merge B</code> we encounter merge conflicts which are unrelated to the changes introduced by <code>A</code>: Those are located into a bunch of files that are supposedly untouched by <code>A</code> but changed in <code>B</code></li>
  <li>Using <code>git annotate</code> and <code>git log</code> to trace the ancestry of one of the  conflicting file we effectively notice that the conflicting locations have a common commit ancestry <code>1234</code>: One line is annotated with <code>1234</code> in <code>A</code> and <code>5678</code>  in <code>B</code> but <code>git annotate file1 5678^</code> shows <code>1234</code> for the conflicting line.</li>
  </ol>
  
  <p>I do not understand how this is possible and could not find any clue on a similar issue anywhere. </p>