git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Collaborative conflict resolution feature request

From
Sergey Organov <sorganov@gmail.com>
Date
Jun 17, 2020, 21:17 UTC
Message-ID
<874kr92xyz.fsf@osv.gnss.ru>
In-Reply-To
<BY5PR19MB34004535CCF180CE5C63B731909A0@BY5PR19MB3400.namprd19.prod.outlook.com>
"Curtin, Eric" <Eric.Curtin@dell.com> writes:
Show 5 quoted lines
> 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.

Previous: Curtin, EricNext: Christian Couder
Message 11 of 32 in “Collaborative conflict resolution feature request”
  1. Curtin, EricJun 12, 2020
  2. Johannes SixtJun 13, 2020
  3. Christian CouderJun 13, 2020
  4. Curtin, EricJun 13, 2020
  5. Philip OakleyJun 13, 2020
  6. Junio C HamanoJun 13, 2020
  7. Sergey OrganovJun 15, 2020
  8. Philip OakleyJun 15, 2020
  9. Stefan MochJun 16, 2020
  10. Curtin, EricJun 17, 2020
  11. Sergey OrganovJun 17, 2020
  12. Christian CouderJun 13, 2020
  13. Junio C HamanoJun 13, 2020
  14. Junio C HamanoJun 13, 2020
  15. Philip OakleyJun 14, 2020
  16. Konstantin TokarevJun 14, 2020
  17. Curtin, EricJun 15, 2020
  18. Philip OakleyJun 15, 2020
  19. Junio C HamanoJun 15, 2020
  20. Chris TorekJun 15, 2020
  21. Chris TorekJun 16, 2020
  22. Philip OakleyJun 15, 2020
  23. Junio C HamanoJun 17, 2020
  24. demerphqJun 18, 2020
  25. Curtin, EricJun 18, 2020
  26. Curtin, EricJun 18, 2020
  27. demerphqJun 18, 2020
  28. Curtin, EricJun 19, 2020
  29. Christian CouderJun 20, 2020
  30. Curtin, EricJun 21, 2020
  31. Christian CouderJun 16, 2020
  32. Sergey OrganovJun 15, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.