--- Junio C Hamano <junkio@xxxxxxx> wrote: > Luben Tuikov <ltuikov@xxxxxxxxx> writes: > > > I think this is a good thing. > > > > How about this case I've noticed in my trees: > > > > After branching out, a file is deleted, only to add > > a different file with the same file name. > > > > Then any time I pull in from the trunk to merge, > > merge fails with git-diff-files showing all 0's and the > > file name in question. Picture: > > > > Branch B +-----------------M1----> > > / / > > C2 <-- git-add A / > > / / > > C1 <-- git-rm A / > > / / > > Trunk -----+-----------------+----> > > Sorry I do not understand the picture; where is the common > ancestor? If it is the left plus sign on the Trunk line, and Yes, the left plus sign is the common ancestor. > you are talking about what happens when making the merge M1, > then before C1 A did not exist (so Trunk tip which is the right File A exists before C1, it does not exist after C1. C1 removes it. > plus sign on the Trunk line would not either), and the other > head (tip of branch B you are pulling the trunk into) would have > one already (from C2), so I would imagine it would be "one side > adds while the other did not touch" (net effect since branch B The trunk is free to change/update file A. In fact this is what most likely happens. > forked from trunk is an addition of A, while Trunk did not do > anything with respect to path A), so I do not see where any > conflict can come from. Puzzled. >From branch B's point of view, we are not interested in any updates/changes/etc of file A coming from the trunk. Since we've deleted that file and added our own, albeit with the same name. Luben P.S. I'm not sure if this is tenable, since it is hard for GIT to know... or is it? - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html