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 15, 2020, 12:55 UTC
Message-ID
<874krczdx9.fsf@osv.gnss.ru>
In-Reply-To
<BY5PR19MB3400EB9AD87DFE612AFD5CC390810@BY5PR19MB3400.namprd19.prod.outlook.com>
"Curtin, Eric" <Eric.Curtin@dell.com> writes:
Show 22 quoted lines
> Hi Guys,
>
> Sometimes in our private git instance in the company I work for we
> merge branches that have been forked for months and there can be
> several or more people involved in the conflict resolution.
>
> At the moment we have two options:
>
> - One person, a branch manager, solves them by ringing people, holding
> meetings, using best judgement, etc.
> - Somebody solves the conflicts they are involved with, marks
> everything as resolved and pushes (leaving <<< ==== >>>> delimiters in
> for unsolved conflicts) for the next person to continue. This sort of
> works although you falsely mark everything as resolved, leaving merge
> tools useless and many broken, unbuildable commits around in the
> branch.
>
> Note: rebase and squashing commits is banned in our org, basically
> anything that would rewrite history on a remote branch.
>
> Is there any existing or upcoming feature in git that could help make
> conflict resolution a more distributed, collaborative kind of task?
That'd be great.

What we sometimes do when such a case appears (rather rarely due to frequent merges, I admit) is to copy /entire/ git directory holding the merge in progress to the next person in charge. This is the only way that I'm aware of that keeps ability to do things like:

  $ f=foo.cc; git diff :1:./$f  :3:./$f
and
  $ f=foo.cc; git diff :1:./$f  :2:./$f
that helps a lot with complicated conflicts.

So, if such a solution ever appears, it'd apparently need a method of sharing or re-creating (parts of) the index? Doesn't sound as an easy problem.

-- Sergey
Previous: Christian Couder
Message 32 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.