Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH 2/5] Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:03

Daniel Barkalow [off-list ref] writes:
On Sat, 7 Apr 2007, Junio C Hamano wrote:
quoted
This fixes three buglets in threeway_merge() regarding D/F
conflict entries.

* After finishing with path D and handling path D/F, some stages
  have D/F conflict entry which are obviously non-NULL.  For the
  purpose of determining if the path D/F is missing in the
  ancestor, they should not be taken into account.

* D/F conflict entry is a phony entry and does not record the
  path being processed, so do not pick up the name from there.
This bit is unnecessary, because the first bit means we treat D/F conflict 
as missing in that conditional, and don't count it as an entry at all, let 
alone one with a useful name.
I am not sure about what you mean by "first bit", but I added
this after noticing there was a case where the path was not
picked up from index/head/remote correctly because the "pick up
the path from ancestors, while we check for any_anc_missing and
no_anc_exists condition" loop at the beginning already set it to
point at stages[i]->name (which is an empty string "" name of
the df-conflict entry).

But I notice that "aggressive" codepath is the only thing that
wants to use the path (it uses it to check the working tree
status), so maybe we should move that path computation business
inside the aggressive codepath.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help