[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Client-side rename tracking (was Re: Summary of Subversion tree-conflicts meeting)

From: David Glasser <glasser_at_mit.edu>
Date: 2007-05-15 23:59:49 CEST

On 5/15/07, C. Michael Pilato <cmpilato@collab.net> wrote:
> 3. Not automatically correcting some of the problem states,
> especially those around renames. Users would really love to
> have the Subversion client apply their local mods to the
> new location of a renamed file automatically, as if the
> rename action was handled client-side like a real OS 'mv'
> command.

So, as far as I can tell, the main approach to approaching the "true
renames" problem so far has started with figuring out how to implement
them in the FS and the editor, with client-side support to come later.
 These efforts have stalled; it's a hard problem!

Has anyone tried approaching "true renames" from the other side yet?
Specifically, consider the problem above: you use "svn mv" to rename a
file, and before committing it you "svn up" to a revision which
modifies the file you've moved away, and the updates are applied to
the old file, not the new one. This situation is common if you're,
say, refactoring Java and you update before committing the
refactoring.

It seems like this particular issue could be dealt with by adding a
"moved-to path" to the entries file and setting it on the
scheduled-delete source after "svn mv source target". The update
logic (and merge, etc) could use the moved-to path to apply updates to
the right place.

Sure, the extra "true rename" information would be lost on commit.
But hey, if we're not going to have rename information in the server
for a while, why not start in the client?

(I haven't quite worked out if renames between directories would be
much more complicated or not, not to mention renames of directories
themselves. And the WC is definitely the part of Subversion that I am
least familiar with.)

Does this sound reasonable?

--dave

-- 
David Glasser | glasser_at_mit.edu | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed May 16 00:00:00 2007

This is an archived mail posted to the Subversion Dev mailing list.