Git is Inconsistent
Here's the short version:<p><pre><code>  I am the original sentence.
</code></pre>
Alice commits a change in her repo:<p><pre><code>  I am a different sentence.
</code></pre>
Bob commits a change in his repo:<p><pre><code>  I am the original sentence.
  I am the original sentence.
</code></pre>
Now Alice pulls Bob's commit. What should happen?<p>The argument is that in certain cases it can be known which of Bob's 2 sentences is the original and which is the copy (due to context provided by an intermediate commit) and that therefore a correct VCS will figure out that the original is on the bottom:<p><pre><code>  I am the original sentence.
  I am a different sentence.
</code></pre>
But git doesn't look at history so will always produce:<p><pre><code>  I am a different sentence.
  I am the original sentence.
</code></pre>
I don't care. If you force me to care then I actually prefer git's behavior. Git is consistent: a merge will always produce the same result for the same files. I don't want history to matter.<p>The problem is not actually solvable. So git doesn't try to solve it. I think that's why it's called "the stupid content tracker."<p>EDIT: Is there anything worse than "smart" features that only work, say, 80% of the time? The closer they get to 100% the worse it gets, because then you start relying on them and they break right when you stop paying attention.