excalibur-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Simons <lsim...@jicarilla.org>
Subject Re: Question about SVN and the reworked directory hierarchy.
Date Wed, 14 Jul 2004 12:00:39 GMT
Hi Leif!

Leif Mortenson wrote:
> <snip type="svn problems"/>
> I am using TortoiseSVN. Is this a configuration problem on my part? I
> am worried about directories and or files being left around in
> locations where it is not so obvious. Not sure if these are
> TortoiseSVN problems or general behavior of SVN in general.

This is not good! I had none of the problems you are describing using 
svn 1.0.4 under linux (I did check things would work in a private repo, 
and none of the clients I used had any problems with the move). PeterD 
did have problems as well.

This kind of thing should be working, as svn works with 
global-revision-number-based changesets, and the changeset for a move is 
the logical operation "copy A to B; delete A". When you 'svn up', that 
is what should happen. If you have locally modified A, subversion will 
not delete it but should issue a warning. You can then commit in the old 
location, svn up, and the "move" change is merged with the file changes.

But that does not work. You can not just commit your local changes 
directly. I thought that you could:

cd instrument # before svn up
svn commit -m "Modifications" # changes are merged into the new location
cd ..
svn up # instrument is moved locally, including the changes

This does not work. Instead you need to merge locally. Something like

cd containerkit/instrument
cp -r ../../instrument/* .
svn status # should show your local modifications
svn commit -m "Modifications"
cd ../..
svn revert instrument # rollback your local changes
svn up # with no local changes to instrument, it can be deleted, and
        # svn will do so

I guess the basic rule for now is that we do not use 'svn move'.

Thinking about how to do this better, it is probably best for everyone 
to coordinate manually, merge in the changes, then create a branch, 
apply the changes there, then replace the trunk with the branched version...

# everyone commits all local changes then stops working...
svn copy http://.../trunk http://.../branches/rework
cd ..../branches/rework
svn move X Y
svn delete Z
svn commit -m "restructured"
cd ....
svn delete trunk
svn commit -m "replacing trunk"
svn copy http://.../branches/rework http://.../trunk

basically its no better than it was with CVS. Sorry again to everyone 
for causing a mess :-$.


To unsubscribe, e-mail: dev-unsubscribe@excalibur.apache.org
For additional commands, e-mail: dev-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/

View raw message