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

RE: Re: Slow "move" discourages refactoring.

From: Leeuw van der, Tim <tim.leeuwvander_at_nl.unisys.com>
Date: 2003-11-27 17:28:36 CET

Hmmmm....

When doing software-refactorings in f.e. Eclipse, I tell the IDE to
move/rename a directory. The IDE communicates to the version-control-tool
(in case, SVN) that the directory needs to be renamed. It then modifies all
java-files where needed to change the package-declarations and imports.
This of course happens as a WC operation.

I think that most software-refactorings happen as WC operations, because you
want to try something, perhaps revert, try something else, change all source
files and build files to reflect the new new layout and naming, make sure it
builds, etc... And then commit.

Looking at how I do refactorings, I don't think it's realistic to expect
URL-to-URL moves when I'm refactoring my code but only moves in the WC. It's
the way my tools work.

There's also a psychological factor, for me at least: my working-copy is
something tangible. The repository is something abstract.
The WC is something which I see in front of me, with my normal tools. To see
the repository in front of me, I need to open special tools (repos. browser
in TSVN is the only one that comes to my mind; I don't know if subclipse has
something similar and I never tried RapidSVN). (I can open the repos in my
webbrowser but that browse-only, no move/copy etc.)
The WC is what I work with daily, and the repos. is something that I have to
go to as a seperate thing. So it's not the intuitive place to go to when I
need to rename or move a file/directory...

So actually my most common use of these operations is also the most
inefficient. I need to give this some thought.

Would it be possible to improve the efficiency of these moves in SVN, so
that a move in WC is not a schedule add/schedule delete of all contents but
really just of the directory involved? How much effort would be involved in
such a task? (too much to do pre-1.0 I assume, but still I'd like to get an
idea of the amount of effort involved)

With regards,

--Tim

-----Original Message-----
From: Ben Collins-Sussman [mailto:sussman@collab.net]
Sent: donderdag 27 november 2003 17:09
To: Kerim Borchaev
Cc: users@subversion.tigris.org
Subject: Re: Slow "move" discourages refactoring.

On Thu, 2003-11-27 at 03:36, Kerim Borchaev wrote:
> Hello!
>
> Seemingly simple task like moving folders tree to another location
> is very hard with svn. What takes no time on usual file systems -
> with svn is heavily dependant on the size of moved directory
> contents. And it's /really/ discourages refactoring of repository
> structure.

I hope you're not running 'svn move wcpath1 wcpath2'. Because it's
*not* a move. It's a copy of the whole tree (schedule add), and
schedule-delete of the old tree.

Just run 'svn move URL1 URL2'. It's near instantaneous, and an O(1)
operation.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Nov 27 17:29:37 2003

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.