Re: Collaborative conflict resolution feature request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Curtin, Eric" <Eric.Curtin@xxxxxxxx> writes:

> Hi Guys,
>
> Yes I think you all understand the conundrum well. Conflict resolution
> by definition is a collaborative effort, but git doesn't support it as a,
> collaborative effort, only one user can resolve it in git.

[As a side-note, I don't agree with "by definition" part of the
statement, nor with "only one user" part, so what is left?]

What I'd like to stress though is that there is a pitfall here: is it
feasible to try to support concurrent conflict resolution, or is it to
be sequential (even if in multiple turns)? I incline to the latter.

Concurrent conflict resolution would lead to conflicts in conflict
resolutions, that already sounds too complex to be useful for my taste,
and we already are in recursion that must be stopped somewhere, so it's
tempting to stop it one level up.

Admittedly, one can try to avoid conflicts in resolutions by splitting
content to independent parts (where Git is not easily applicable by
design, being the tool that manages entire content), but such a split
doesn't sound realistic, as if it were possible, it'd be easier to apply
it to avoid original conflicts in the first place. Then, a non-trivial
conflict resolution often needs changes elsewhere anyway, making strict
content split again problematic.

OTOH, anything sequential is intrinsically difficult for a distributed
system like Git, so it probably should better be implemented elsewhere.
This approach is simplified by the fact that fortunately Git doesn't
care how exactly you come-up with the resulting merge commit[*], so one
is free to use whatever external tool to achieve his goals.

-- Sergey

[*] Well, it actually does care in some corner cases, e.g., when it
drops or tries to re-create merges on rebase, and that will only be
eliminated once "evil merge" concept is finally buried, for better.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux