You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by jerome lacoste <je...@gmail.com> on 2005/10/06 17:25:33 UTC
can't update after having updated a sub-part of the tree
Summary:
1- svn co tree
2- svn move many many things. svn delete some.
3- someone makes check-ins in the mean time
4- I make a svn up on an old part of the tree (from which files had
been moved out), because one file was deleted by accident and I needed
to get it back.
5- svn up on the whole tree fails to update the moved files
I have now a big restructuration that I cannot commit because of that.
I am unable to get the changes others made on the files, and hence I
don't dare committing.
svn up on the root of the tree tells me I am at the latest version but
my moved directory haven't been updated.
Anyone can suggest something?
This reproduces the issue (tested on 1.1.4 and 1.2.3):
--------------------
rm -rf svnrepos test-1 test-2 test
svnadmin create svnrepos --fs-type fsfs
mkdir -p test/olddir
echo "This is my project" > test/olddir/README.txt
svn import -m "test import" test/ file://`pwd`/svnrepos/test
rm -rf test
echo "** moving README to new dir"
svn co file://`pwd`/svnrepos/test test-1
mkdir -p test-1/newdir/
svn add test-1/newdir/
svn move test-1/olddir/README.txt test-1/newdir/
echo "** updating README in the meantime"
svn co file://`pwd`/svnrepos/test test-2
echo "Added line" >> test-2/olddir/README.txt
svn commit -m "updated README" test-2
echo "** svn status test-2"
svn status -v test-2
rm -rf test-2
echo "** svn status test-1"
svn status -v test-1
echo "** svn diff"
svn diff test-1/newdir/README.txt
echo "** updating OLDDIR"
svn up test-1/olddir
echo "** svn status test-1"
svn status -v test-1
svn up test-1
echo "** svn status test-1"
svn status -v test-1
echo "** svn diff"
svn diff test-1/newdir/README.txt
echo "diff -u OLDDIR/NEWDIR"
diff -u test-1/olddir/README.txt test-1/newdir/README.txt
----------------
The problem is caused by updating olddir. Now the newdir doesn't
contain the changes.
So it's probably my mistake, but I wonder if there's a way for me to
get all these changes. Or do I have to start from scratch all my
layout/code changes? :(
Cheers,
Jerome
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: can't update after having updated a sub-part of the tree
Posted by Joshua Varner <jl...@gmail.com>.
On 10/6/05, jerome lacoste <je...@gmail.com> wrote:
> On 10/6/05, Ryan Schmidt <su...@ryandesign.com> wrote:
> > On Oct 6, 2005, at 19:25, jerome lacoste wrote:
[snip]
>
> I have to do that for each file?
>
> I moved over 2000 files....
>
> There's not way I can achieve that with merging?
>
I think you can automate it with this (any subdirs with no files
moved in them you can just update normally from within.)
svn merge -r BASE:HEAD oldpath newpath
Josh
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: can't update after having updated a sub-part of the tree
Posted by jerome lacoste <je...@gmail.com>.
On 10/6/05, Ryan Schmidt <su...@ryandesign.com> wrote:
> On Oct 6, 2005, at 19:25, jerome lacoste wrote:
>
> > Summary:
> >
> > 1- svn co tree
> > 2- svn move many many things. svn delete some.
> > 3- someone makes check-ins in the mean time
> > 4- I make a svn up on an old part of the tree (from which files had
> > been moved out), because one file was deleted by accident and I needed
> > to get it back.
> > 5- svn up on the whole tree fails to update the moved files
>
> That is correct. Subversion does not automatically propagate the
> changes. You have to do it manually.
MMm I thought that if I didn't do the svn update on the test-1/olddir,
then the update would be been automatically propagated. But I can't
reproduce it now. Probably my mistake then.
> > I have now a big restructuration that I cannot commit because of that.
> > I am unable to get the changes others made on the files, and hence I
> > don't dare committing.
>
> You should be able to manually determine what changes were made to
> the file under its old name. Look at the svn log to see the revisions
> in which changes were made. Use svn diff to get the exact changes.
> Apply the changes (using Unix patch or equivalent) to your renamed
> file. Now you can commit.
I have to do that for each file?
I moved over 2000 files....
There's not way I can achieve that with merging?
Cheers,
Jerome
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: can't update after having updated a sub-part of the tree
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Oct 6, 2005, at 19:25, jerome lacoste wrote:
> Summary:
>
> 1- svn co tree
> 2- svn move many many things. svn delete some.
> 3- someone makes check-ins in the mean time
> 4- I make a svn up on an old part of the tree (from which files had
> been moved out), because one file was deleted by accident and I needed
> to get it back.
> 5- svn up on the whole tree fails to update the moved files
That is correct. Subversion does not automatically propagate the
changes. You have to do it manually.
> I have now a big restructuration that I cannot commit because of that.
> I am unable to get the changes others made on the files, and hence I
> don't dare committing.
You should be able to manually determine what changes were made to
the file under its old name. Look at the svn log to see the revisions
in which changes were made. Use svn diff to get the exact changes.
Apply the changes (using Unix patch or equivalent) to your renamed
file. Now you can commit.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org