[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
Received on 2014-04-23 07:29:06 CEST