3 ms·
The biggest day-to-day merge conflict annoyance I have is situations like this. As far as I know, there’s no solution: commit aaaaaaaa diff --git a/REA
by jez 3y ago
The biggest day-to-day merge conflict annoyance I have is situations like this. As far as I know, there’s no solution:
commit aaaaaaaa
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-<p align="center">
+<p align="left">
<img width="200" src="logo.svg">
</p>
commit bbbbbbbb
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
<p align="center">
- <img width="200" src="logo.svg">
+ <img width="345" src="logo.svg">
</p>
# Project
Commit aaaaaaaa changes some text on line 1.
Commit bbbbbbbb changes some unrelated text on line 2.
I don’t want to have to manually resolve this—just merge the lines. If there’s a semantic conflict I’ll let the tests sort it out. When I’ve looked in the past there wasn’t a merge strategy that fixes this.
- wscott 3y agoBitKeeper was able to merge that successfully by looking at the revision history and seeing that the changes involved just those lines. If one of them added a line between the two being changed then it would still be a conflict. I spent a year looking at interesting merges (and commits fixing bad merges) in the Linux kernel and making a catalog of interesting cases before writing 'smerge' for BitKeeper. It is impossible to make a perfect merge tool, but we can do a lot better than diff3.