I am the original sentence.
Alice commits a change in her repo: I am a different sentence.
Bob commits a change in his repo: I am the original sentence.
I am the original sentence.
Now Alice pulls Bob's commit. What should happen?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:
I am the original sentence.
I am a different sentence.
But git doesn't look at history so will always produce: I am a different sentence.
I am the original sentence.
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.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."
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.