Is git
's merge conflict resolution inherently more efficient than other SCMs (CVS,Subversion,etc.), and also standalone merge tools? If so, why?
Clarification: here I'm more interested in the algorithm itself - is it any different from a plain diff3 method?
Some tools claim to be smarter in that(e.g. Guiffy), is it worth plugging one in as a git merge tool?
Is git any smarter in figuring out pieces of text moved within or across files ? (rather than reporting noisy conflicts.. I had a vague impression of that from Linus' talk).
Background: just did a huge merge using git-svn
which resulted in half the conflicts than I got with plain svn merge
(first merge with no tracking) .. so I'd like to understand why.
The are similar Qs/As around but they are more about the big picture of the process, and how merging fits in that more naturally. To that end, git
being 'optimised for merges' (as opposed to only branching), does it actually mean:
? Now, I'm mostly interested in 1 & 2.
Select the Conflicts link to start resolve file conflicts. This will bring up a list of files with conflicts. Selecting a file lets you accept the changes in the source branch you're merging from with the Take Source button or accept the changes in the branch you're merging into using Keep Target.
I would love to be proven wrong on this answer but... coming from perforce... this area of git is a bit under developed.
Auto merging in git is non-existant. The latest version has basic support for performing a merge using your changes or their changes but that's it. Basically if you edit a portion of a file and someone else edits the same portion of a file... you're on your own for merge resolution. The diff3 format is available (3-way merge) but I believe a unified diff format is the standard. I actually use araxis as the merge tool and have it setup to use 3 way merge when running "git mergetool". Coming from perforce though... I feel like git is way behind in this area.
N/A
Update RE: comments
I haven't dug deep enough into exactly what git thinks is a conflict and exactly what p4 thinks is a conflict but here's what I've experienced in both.
My answers here are a bit subjective... but I do sorely miss the merging that I had with perforce.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With