Thread (1 message) 1 message, 1 author, 2016-06-15

Re: git add -p and unresolved conflicts

From: Matthieu Moy <hidden>
Date: 2016-06-15 22:53:25

Holger Hellmuth [off-list ref] writes:
quoted
And you miss the most usefull (to me at least): "choose the version in
the worktree".
But the conflicted chunks are of the form "<<<< our ... ||||||||||
theirs >>>>>>" in your work tree. So there are two cases:

a) You have removed the markers thereby removing the conflict -> this
means the chunk will not be offered to you as a conflicting chunk
If you have removed the markers, then the file is still marked as
conflicted in the index, and the user may still want to see the combined
diff.

My use-case is actually quite simple: I see "git add -p" both as a way
to make partial commits, and as a way to manually validate what I'm
about to commit. I review the diff, validate them with "y", and if I see
something wrong, I quit "git add -p", fix the issue, and next "git add
-p" won't show it again. This flow could work also with conflicts:

$ git add -p
# see an unresolved diff for file foo.txt
n
# see a resolved diff for file bar.txt
y        <-- the "missing" possibility for me
$ edit foo.txt
$ git add -p
# see resolution for file foo.txt
y
$ git commit

The "'git reset $path' before 'add -p'" workaround is not really handy
there: it requires typing the path, while my workflow with "git add -p"
does not, and it wouldn't show the combined diff, which is usually the
best tool to see if a merge has been resolved properly.

The current behavior is not that bad for me: I see the combined diff in
the output, I just have one extra "git add $path" to type. Being able to
just say "y" instead would be handy, but not fundamentally different.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help