On Fri, May 28, 2010 at 12:14:13PM +0100, Julian Foad wrote: > Ah, you see, I had somehow formed the impression that the phrase is now > used to mean "Handle renames in such a way that the end result is what > the users expect, regardless of how it's implemented". > > What the users expect has little connection with node-ids and such like, > and most of the important user-level requirement is summed up by saying > > "When merging a rename from a source branch to a target branch, > Subversion should perform a rename within the target branch, > not copy something from the source branch." > > Certainly a better name for it would be ... better. "Branch-relative > renames"?
Please consider taking a very good look at how Mercurial handles copies when merging. I think that could provide some interesting ideas. For instance, it does apply incoming textual changes to a file to all local (uncommitted) copies of that file. The rational behind this is explained here: http://hgbook.red-bean.com/read/mercurial-in-daily-use.html#chap:daily.copy See "Why should changes follow copies?" and following. In addition to the book we might want to study the code. I'm not saying we should copy the concepts 1:1, but we should certainly look at Mercurial for inspiration on this topic. Stefan