Using the built-in merge tool...

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Using the built-in merge tool...

Norbert Nemec
Over the years of using git, I have tried out various 3-way merge tools,
finding different drawbacks with each of them.

The SmartGIT built-in conflict solver offers one of the cleanest visual
representations I have seens so far. Trying to use it, however, I
stumble over a number of issues:

a) The toolbar offers stepping through changes ("Goto Prev." and "Goto
Next"), but the far more important actions for stepping though
unresolved conflicts are hidden in the menu.

b) I can't find any indicator about the number of unresolved conflicts.

c) I can't find any way to access the "common ancestor". This is the key
to any three-way merge any it is essential for resolving complex conflicts.

Apart from these user-interface issues, I have two more fundamental remarks:

* As it seems, the built-in conflict solver does not contain any merging
algorithm on its own but simply presents those conflicts that git could
not resolve. The git merging algorithm is very conservative. Third-party
merging tools can often be configured far more flexibly to allow a
significantly higher merging success rate. kdiff3, for example, has been
very helpful for me in solving tons of pure whitespace conflicts without
any further interaction.

* The built-in conflict solver is based on a three-panel paradigm, which
seems intuitive at first, but is very limited in resolving tricky
issues. What is missing is exactly the "common ancestor" mentioned
above. A four-panel setup ("ancestor", "ours", "theirs", "merge") would
be necessary to have access to the same information that the auto-merge
has. The drawback is that the visual representation becomes far less
clear. kdiff3 presents this with three "source"-panels on top and the
"destination" ("result"/"merge") at the bottom. Far from optimal, but
still far more powerful for complex situations than the pure three-panel
setup of the built-in solver.

Greetings,
Norbert


--
Dr. Norbert Nemec
Teamleader Software Development

Tel +49-30-611035-1882
[hidden email]

KOMPLETE 8 ULTIMATE - the premium NI producer collection
=>  http://www.native-instruments.com/komplete8

TRAKTOR KONTROL S2 - the professional 2.1 DJ system
=>  http://www.native-instruments.com/s2

->>>>>> NATIVE INSTRUMENTS - The Future of Sound <<<<<<-

Registergericht: Amtsgericht Charlottenburg
Registernummer: HRB 72458
UST.-ID.-Nr. DE 20 374 7747

Geschäftsführung: Daniel Haver (CEO), Mate Galic


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/smartgit/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/smartgit/join
    (Yahoo! ID required)

<*> To change settings via email:
    [hidden email]
    [hidden email]

<*> To unsubscribe from this group, send an email to:
    [hidden email]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Reply | Threaded
Open this post in threaded view
|

Re: Using the built-in merge tool...

fmazerolle
I do agree with all the suggestions, especially the one about going to the next conflict.

--- In [hidden email], Norbert Nemec <norbert.nemec@...> wrote:

>
> Over the years of using git, I have tried out various 3-way merge tools,
> finding different drawbacks with each of them.
>
> The SmartGIT built-in conflict solver offers one of the cleanest visual
> representations I have seens so far. Trying to use it, however, I
> stumble over a number of issues:
>
> a) The toolbar offers stepping through changes ("Goto Prev." and "Goto
> Next"), but the far more important actions for stepping though
> unresolved conflicts are hidden in the menu.
>
> b) I can't find any indicator about the number of unresolved conflicts.
>
> c) I can't find any way to access the "common ancestor". This is the key
> to any three-way merge any it is essential for resolving complex conflicts.
>
> Apart from these user-interface issues, I have two more fundamental remarks:
>
> * As it seems, the built-in conflict solver does not contain any merging
> algorithm on its own but simply presents those conflicts that git could
> not resolve. The git merging algorithm is very conservative. Third-party
> merging tools can often be configured far more flexibly to allow a
> significantly higher merging success rate. kdiff3, for example, has been
> very helpful for me in solving tons of pure whitespace conflicts without
> any further interaction.
>
> * The built-in conflict solver is based on a three-panel paradigm, which
> seems intuitive at first, but is very limited in resolving tricky
> issues. What is missing is exactly the "common ancestor" mentioned
> above. A four-panel setup ("ancestor", "ours", "theirs", "merge") would
> be necessary to have access to the same information that the auto-merge
> has. The drawback is that the visual representation becomes far less
> clear. kdiff3 presents this with three "source"-panels on top and the
> "destination" ("result"/"merge") at the bottom. Far from optimal, but
> still far more powerful for complex situations than the pure three-panel
> setup of the built-in solver.
>
> Greetings,
> Norbert
>
>
> --
> Dr. Norbert Nemec
> Teamleader Software Development
>
> Tel +49-30-611035-1882
> norbert.nemec@...
>
> KOMPLETE 8 ULTIMATE - the premium NI producer collection
> =>  http://www.native-instruments.com/komplete8
>
> TRAKTOR KONTROL S2 - the professional 2.1 DJ system
> =>  http://www.native-instruments.com/s2
>
> ->>>>>> NATIVE INSTRUMENTS - The Future of Sound <<<<<<-
>
> Registergericht: Amtsgericht Charlottenburg
> Registernummer: HRB 72458
> UST.-ID.-Nr. DE 20 374 7747
>
> Geschäftsführung: Daniel Haver (CEO), Mate Galic
>


Reply | Threaded
Open this post in threaded view
|

Re: Using the built-in merge tool...

syntevo Support
In reply to this post by Norbert Nemec
Hi Norbert,

Thank you for your detailed suggestions which I've added all as RFEs.

a) and b) are scheduled for SmartGit 3. For c) we think about optionally showing a read-only 3-way-merge between left, right and common ancestor.

--
Best regards,
Thomas Singer
=============
syntevo GmbH
http://www.syntevo.com
http://blog.syntevo.com


01/16/2012 11:00 - Norbert Nemec wrote:

> Over the years of using git, I have tried out various 3-way merge tools,
> finding different drawbacks with each of them.
>
> The SmartGIT built-in conflict solver offers one of the cleanest visual
> representations I have seens so far. Trying to use it, however, I
> stumble over a number of issues:
>
> a) The toolbar offers stepping through changes ("Goto Prev." and "Goto
> Next"), but the far more important actions for stepping though
> unresolved conflicts are hidden in the menu.
>
> b) I can't find any indicator about the number of unresolved conflicts.
>
> c) I can't find any way to access the "common ancestor". This is the key
> to any three-way merge any it is essential for resolving complex conflicts.
>
> Apart from these user-interface issues, I have two more fundamental remarks:
>
> * As it seems, the built-in conflict solver does not contain any merging
> algorithm on its own but simply presents those conflicts that git could
> not resolve. The git merging algorithm is very conservative. Third-party
> merging tools can often be configured far more flexibly to allow a
> significantly higher merging success rate. kdiff3, for example, has been
> very helpful for me in solving tons of pure whitespace conflicts without
> any further interaction.
>
> * The built-in conflict solver is based on a three-panel paradigm, which
> seems intuitive at first, but is very limited in resolving tricky
> issues. What is missing is exactly the "common ancestor" mentioned
> above. A four-panel setup ("ancestor", "ours", "theirs", "merge") would
> be necessary to have access to the same information that the auto-merge
> has. The drawback is that the visual representation becomes far less
> clear. kdiff3 presents this with three "source"-panels on top and the
> "destination" ("result"/"merge") at the bottom. Far from optimal, but
> still far more powerful for complex situations than the pure three-panel
> setup of the built-in solver.
>
> Greetings,
> Norbert
>
>
> --
> Dr. Norbert Nemec
> Teamleader Software Development
>
> Tel +49-30-611035-1882
> [hidden email]
>
> KOMPLETE 8 ULTIMATE - the premium NI producer collection
> =>  http://www.native-instruments.com/komplete8
>
> TRAKTOR KONTROL S2 - the professional 2.1 DJ system
> =>  http://www.native-instruments.com/s2
>
> ->>>>>> NATIVE INSTRUMENTS - The Future of Sound <<<<<<-
>
> Registergericht: Amtsgericht Charlottenburg
> Registernummer: HRB 72458
> UST.-ID.-Nr. DE 20 374 7747
>
> Geschäftsführung: Daniel Haver (CEO), Mate Galic
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>