Git development
 help / color / mirror / Atom feed
* [PATCH 0/2] checkout -m: recreate conflict labels
@ 2026-09-30  9:48 Phillip Wood
  2026-09-30  9:48 ` [PATCH 1/2] remove_branch_state: convert boolean argument to flags Phillip Wood
                   ` (4 more replies)
  0 siblings, 5 replies; 26+ messages in thread
From: Phillip Wood @ 2026-09-30  9:48 UTC (permalink / raw)
  To: git; +Cc: Elijah Newren, Phillip Wood

When "git checkout -m <path>" recreates a merge conflict, it uses
the labels "base", "ours", "theirs", rather than the labels used by
the original merge. This short series teaches the ort machinery to
write the labels to ".git/MERGE_LABELS" when it switches to a merge
result containing conflicts, so that "git checkout -m" can then read
that file and use the same labels.

As "git checkout -m" is recreating the original conflict I wonder
if we should remember the conflict style as well so that

    git -c merge.conflictStyle=diff3 git merge topic
    git checkout -m <unmerged-path>

would recreate diff3 style conflicts, instead of using the default
config. I cannot decide if that would be convenient or confusing and
am interested to hear what others think.

base-commit: 3bc0341126508f78f5869cbfc0005e987efdf0c7
Published-As: https://github.com/phillipwood/git/releases/tag/pw%2Fconflict-labels%2Fv1
View-Changes-At: https://github.com/phillipwood/git/compare/3bc034112...fdaf3da99
Fetch-It-Via: git fetch https://github.com/phillipwood/git pw/conflict-labels/v1


Phillip Wood (2):
  remove_branch_state: convert boolean argument to flags
  merge: remember conflict labels

 branch.c           | 17 +++++++++----
 branch.h           |  4 ++-
 builtin/checkout.c | 30 ++++++++++++++++++----
 builtin/commit.c   |  1 +
 merge-ort.c        | 19 ++++++++++++++
 merge.c            | 63 ++++++++++++++++++++++++++++++++++++++++++++++
 merge.h            |  4 +++
 path.c             |  1 +
 path.h             |  1 +
 repository.c       |  1 +
 repository.h       |  1 +
 sequencer.c        |  1 +
 t/t7201-co.sh      | 21 ++++++++++++++++
 13 files changed, 153 insertions(+), 11 deletions(-)

-- 
2.56.0.rc2.84.gaf8b4f0d381


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2026-10-09 20:31 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-30  9:48 [PATCH 0/2] checkout -m: recreate conflict labels Phillip Wood
2026-09-30  9:48 ` [PATCH 1/2] remove_branch_state: convert boolean argument to flags Phillip Wood
2026-09-30  9:48 ` [PATCH 2/2] merge: remember conflict labels Phillip Wood
2026-09-30 16:42   ` Junio C Hamano
2026-10-01  8:54     ` Phillip Wood
2026-10-01 17:14       ` Junio C Hamano
2026-09-30 20:24 ` [PATCH 0/2] checkout -m: recreate " Johannes Sixt
2026-09-30 20:40   ` Junio C Hamano
2026-09-30 21:20     ` Johannes Sixt
2026-10-01  8:45   ` Phillip Wood
2026-10-05 13:24 ` [PATCH v2 " Phillip Wood
2026-10-05 13:24   ` [PATCH v2 1/2] remove_branch_state: convert boolean argument to flags Phillip Wood
2026-10-05 13:24   ` [PATCH v2 2/2] merge: remember conflict labels Phillip Wood
2026-10-05 16:19     ` Junio C Hamano
2026-10-06 15:21       ` Phillip Wood
2026-10-05 16:31     ` Junio C Hamano
2026-10-06 15:05       ` Phillip Wood
2026-10-06 15:46     ` Junio C Hamano
2026-10-07 13:38       ` Phillip Wood
2026-10-05 14:48   ` [PATCH v2 0/2] checkout -m: recreate " Johannes Sixt
2026-10-05 15:09     ` Phillip Wood
2026-10-05 15:53   ` Junio C Hamano
2026-10-09  9:13 ` [PATCH v3 " Phillip Wood
2026-10-09  9:13   ` [PATCH v3 1/2] remove_branch_state: convert boolean argument to flags Phillip Wood
2026-10-09  9:13   ` [PATCH v3 2/2] merge: remember conflict labels Phillip Wood
2026-10-09 20:31   ` [PATCH v3 0/2] checkout -m: recreate " Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox