[please cc: me as I'm not subscribed to this list.]

Hi,

It seems that copying some changed/added files between two working
copies of the same repository does not work, not even if both
repositories are at the latest revision.

Discussion in #svn on Freenode:

> <mihi> Is it expected to work when I have two checkouts of different branches 
> of the same repo (both at the latest revision) to "svn cp" one modified 
> folder from one repo to the other (it did not exist in the other branch 
> before) and then commit from there (together with changes that are already 
> there)? Because I'm getting strange "path not present" error messages...
> <mihi> I've done it a lot but not sure whether it is really a bug, especially 
> considering the scary message on 
> http://subversion.tigris.org/issue-tracker.html#find :)
> <mihi> and I can reproduce it: http://pastebin.com/x1yMdt0C
> <Bert> mihi: Copying between working copies of the same repository should 
> work.. But when mixing things with mixed revisionness, replacements, etc. 
> there are a lot of corner cases.
> <Bert> There are some fixes that might fix this case nominated for the next 
> 1.8.x release.
> <Bert> mihi: Can you post this testcase to dev{_AT_}subversion.apache.org?

To reproduce:

> X:\>svn --version
> svn, version 1.8.8 (r1568071)
>    compiled Apr 12 2014, 14:17:25 on x86-microsoft-windows
> 
> Copyright (C) 2013 The Apache Software Foundation.
> This software consists of contributions made by many people;
> see the NOTICE file for more information.
> Subversion is open source software, see http://subversion.apache.org/
> 
> The following repository access (RA) modules are available:
> 
> * ra_svn : Module for accessing a repository using the svn network protocol.
>   - with Cyrus SASL authentication
>   - handles 'svn' scheme
> * ra_local : Module for accessing a repository on local disk.
>   - handles 'file' scheme
> * ra_serf : Module for accessing a repository via WebDAV protocol using serf.
>   - using serf 1.3.4
>   - handles 'http' scheme
>   - handles 'https' scheme
> 
> X:\>mkdir repo
> 
> X:\>svnadmin create repo
> 
> X:\>svn co file:///x:/repo co1
> Checked out revision 0.
> 
> X:\>svn co file:///x:/repo co2
> Checked out revision 0.
> 
> X:\>cd co1
> 
> X:\co1>md oldtree\parent\child newtree
> 
> X:\co1>copy nul oldtree\parent\child\file
>         1 Datei(en) kopiert.
> 
> X:\co1>svn add oldtree newtree
> A         oldtree
> A         oldtree\parent
> A         oldtree\parent\child
> A         oldtree\parent\child\file
> A         newtree
> 
> X:\co1>svn ci -m "Preparation"
> Adding         newtree
> Adding         oldtree
> Adding         oldtree\parent
> Adding         oldtree\parent\child
> Adding         oldtree\parent\child\file
> Transmitting file data .
> Committed revision 1.
> 
> X:\co1>cd \co2
> 
> X:\co2>svn up
> Updating '.':
> A    oldtree
> A    oldtree\parent
> A    oldtree\parent\child
> A    oldtree\parent\child\file
> A    newtree
> Updated to revision 1.
> 
> X:\co2>cd \co1
> 
> X:\co1>svn rm oldtree\parent\child
> D         oldtree\parent\child
> D         oldtree\parent\child\file
> 
> X:\co1>svn cp oldtree\parent ..\co2\newtree\parent
> A         X:\co2\newtree\parent
> 
> X:\co1>cd \co2
> 
> X:\co2>svn ci -m "Will it work?"
> Adding         newtree\parent
> Deleting       newtree\parent\child
> svn: E160016: Commit failed (details follow):
> svn: E160016: Path 'parent/child' not present

Reply via email to