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

RE: RE: Re: Subversion replaces new files instead of adding them after a merge

From: Giulio Troccoli <Giulio.Troccoli_at_uk.linedata.com>
Date: Mon, 16 Jun 2008 14:05:39 +0100

>
 
 
Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London, E1 6DB
Registered in England and Wales No 3027851 VAT Reg No 778499447
 
-----Original Message-----
 

> From: Giulio Troccoli [mailto:Giulio.Troccoli_at_uk.linedata.com]
> Sent: 16 June 2008 13:18
> To: Andreas Schweigstill; users_at_subversion.tigris.org
> Subject: RE: Re: Subversion replaces new files instead of adding them
> after a merge
>
> > > Here is what I did
> > >
> > > ln1sub01 branches> mkdir english
> > > ln1sub01 branches> cp italian/foo.c english
> > > ln1sub01 branches> svn add english
> >
> > Much better would have been:
> >
> > svn mkdir english
> > svn cp italian/foo.c english
> >
> > svn ci -m"Adding English, based on Italian"
>
> Well, although I don't think doing it your way would have change the
> outcome of the merge, if I use svn cp I create a "link" between
> italian/foo.co and enlighs/foo.c which I didn't want. As I sain
anyway,
> I don't think this is relevant to the problem.
>
> > It seems that there had been a file /trunk/english/foo.c before your
> > merge. And that file had nothing to do with the file you created
> > afterwards. If you do a "svn log" on the new file you also won't
find
> > a hint about the old foo.c because it is based on a different peg
> > revision.
>
> I can assure you that that was not the case. /trunk/English is a brand
> new directoy, and it was created by the merge and in fact SVN showed a
A
> as it's status after the merge
>
> ln1sub01 branches> svn merge --change 12
> http://localhost/svn-test/branches trunk
> A trunk/english
> A trunk/english/foo.c
> ln1sub01 svn-test> svn st
> A + trunk/english
> A + trunk/english/foo.c
> ln1sub01 svn-test> svn ci -m"Merging revision 12 to trunk"
> Adding trunk/english
> Adding trunk/english/foo.c
>
> I will try to write a script that creates a new test repository and
> replicates the problem so everybody can run it.
>
> Giulio

I haven't yet been able to reproduce it from a brand new repository, but
I have definitely ruled out the possibility that the file somehow
already exists, as Andreas suggested. This is what I did and the result

ln1sub01 gtroccol> svn up svn-test
At revision 15.
ln1sub01 gtroccol> cd svn-test
ln1sub01 svn-test> ls trunk
english/ foo.c german/
ln1sub01 svn-test> cd branches
ln1sub01 branches> mkdir french
ln1sub01 branches> cp italian/foo.c french
ln1sub01 branches> svn add french
A french
A french/foo.c
ln1sub01 branches> svn st
A french
A french/foo.c
ln1sub01 branches> svn ci -m"Adding French"
Adding branches/french
Adding branches/french/foo.c
Transmitting file data .
Committed revision 16.
ln1sub01 branches> cd ..
ln1sub01 svn-test> svn merge -c16 http://localhost/svn-test/branches
trunk
A trunk/french
A trunk/french/foo.c
ln1sub01 svn-test> svn st
A + trunk/french
A + trunk/french/foo.c
ln1sub01 svn-test> svn ci -m"Merging revision 16 to trunk"
Adding trunk/french
Adding trunk/french/foo.c

Committed revision 17.
ln1sub01 svn-test> svnlook changed -r17 /data/TestRepositories/svn-test
A trunk/french/
D trunk/french/foo.c
A trunk/french/foo.c
ln1sub01 svn-test>

As you can see the French directory did not exist in trunk prior to the
merge.

I am still working on reproducing it with a brand new repository.

Giulio

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-06-16 15:06:19 CEST

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.