Thread (4 messages) flat view 4 messages, 2 authors, 2016-08-11

Re: [PATCH] Remove uncontested renamed files during merge.

From: Johannes Schindelin <hidden>
Date: 2016-08-11 20:40:47

Hi,

On Wed, 13 Dec 2006, Shawn O. Pearce wrote:
quoted hunk ↗ jump to hunk
Prior to 65ac6e9c3f47807cb603af07a6a9e1a43bc119ae we deleted a
file from the working directory during a merge if the file existed
in the working directory before the merge started but was renamed
by the branch which is being merged in.  This broke in 65ac63 as
git-merge-recursive did not actually update the working directory
on this uncontested rename case.

[...]
diff --git a/merge-recursive.c b/merge-recursive.c
index 9d53bcd..741d17f 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -873,7 +873,7 @@ static int process_renames(struct path_list *a_renames,
 			struct diff_filespec src_other, dst_other;
 			int try_merge, stage = a_renames == renames1 ? 3: 2;
 
-			remove_file(1, ren1_src, 1);
+			remove_file(1, ren1_src, 0);
I _think_ that the "0" should be "!index_only". After all, these functions 
are not only called on the virtual merges, but also on the final merge, 
which indeed should update the working directory. And since it is a 
rename, the old file has to go.

Ciao,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help