It is easy to reproduce the repository access using:
# svn --username guest co
# cd scripts
# svn --username nobody cp scripts/MergeTracking-Demo scripts/new
Authentication realm: <http://sharpsvn.open.collab.net:80> CollabNet
Password for 'nobody':
(press enter a few times)
svn: OPTIONS of
mo': authorization failed (http://sharpsvn.open.collab.net)
(svn returns with errorcode 1)
The directory is copied, but an error is returned.
And it is explicitly documented as:
# svn help cp
WARNING: For compatibility with previous versions of Subversion,
copies performed using two working copy paths (WC -> WC) will not
contact the repository. As such, they may not, by default, be able
to propagate merge tracking information from the source of the copy
to the destination.
This breaks existing c implementations of the client api as they do not
expect wc -> wc copy operations to require authorization (was always
non-interactive) and don't ignore new errors.
I tried to get some usefull information in the svn:mergeinfo property using
the wc->wc copy in different scenarios (allowing repository access) but I
always get an empty svn:mergeinfo property. (Don't know why it would contact
the repository to get nothing; but perhaps that is an 1.4-1.5 interop issue)
Overall it makes copying/moving wc files quite a lot slower in 1.5 over 1.4
on webdav repositories.
More information in the mailinglist thread available via: