[Svnmerge] problems with added files

Konstantin Sobolev konstantin.sobolev at gmail.com
Wed Dec 20 14:34:52 PST 2006


On 12/21/06, Jack Repenning <jrepenning at collab.net> wrote:
> On Dec 20, 2006, at 1:16 PM, Konstantin Sobolev wrote:
>
> > 1. Someone commits new file X into trunk.
> > 2. I try to merge this changeset into the branch. svnmerge fetches X
> > and it becomes scheduled for adding (A).
> > 3. svnmerge fails to commit the changes due to some problem, for
> > instance (.) is outdated.
> > 4. I do 'svn revert -R .' folowed by 'svn update'. Now X stays in my
> > WC as an unversioned file.
> > 5. I retry from step (1), but this time 'svn update' silently skips X
> > as I already have a file by that name in my WC.
>
> I still think this is analogous to something signaled as an error by
> "svn update":
>
> >   > svn co http://HOST/svn/www/trunk www-1
> >   > svn co http://HOST/svn/www/trunk www-2
> >   > date > www-1/www/aNewFile
> >   > svn add www-1/www/aNewFile
> >   > svn ci -mx www-1
> >   > date > www-2/www/aNewFile
> >   > svn up www-2
> >   svn: Failed to add file 'www-2/www/aNewFile': object of the same
> > name already exists
>
> ... and hence it ought to produce an error in the merge case as well.

I tried to reproduce it on my local repository. Here's what happens
when our branch WC contains an unversioned file (test2):

kos at kos ~/tmp/brtest/test/branches/test-branch $ svn info test2.txt
test2.txt:  (Not a versioned resource)

kos at kos ~/tmp/brtest/test/branches/test-branch $ svnmerge.py avail -l
------------------------------------------------------------------------
r70 | kos | 2006-12-21 01:28:10 +0300 (Чтв, 21 Дек 2006) | 1 line
Changed paths:
   A /test/trunk/test2.txt

1
------------------------------------------------------------------------
r71 | kos | 2006-12-21 01:29:29 +0300 (Чтв, 21 Дек 2006) | 1 line
Changed paths:
   M /test/trunk/test2.txt

1

kos at kos ~/tmp/brtest/test/branches/test-branch $ svnmerge.py merge -r 70,71
Skipped 'test2.txt'

property 'svnmerge-integrated' set on '.'

kos at kos ~/tmp/brtest/test/branches/test-branch $ svn info test2.txt
test2.txt:  (Not a versioned resource)

So the file is skipped, and there's a message about it. But it is so
hard to notice when doing large merges..

-- 
/KoS




More information about the Svnmerge mailing list