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

RE: 'svn cp wc wc' requires repository access (1.5.x BREAKING issue)

From: Bert Huijben <bert_at_vmoo.com>
Date: Thu, 20 Mar 2008 11:51:10 +0100

        Hi All,

When I posted this issue on IRC this monday we concluded we had at least a
documentation bug and possibly an incompatible api change in 1.5 which
should be resolved before releasing 1.5.

Could anyone with more knowledge about the workingcopy-copy implementation
/please/ take a look at this.

It is easy to reproduce the repository access using:

# svn --username guest co
http://sharpsvn.open.collab.net/svn/sharpsvn/trunk/scripts/ scripts
# cd scripts
# svn --username nobody cp scripts/MergeTracking-Demo scripts/new
A scripts/new
 Authentication realm: <http://sharpsvn.open.collab.net:80> CollabNet
Subversion Repository
 Password for 'nobody':
 (press enter a few times)
 <snip>
 svn: OPTIONS of
'http://sharpsvn.open.collab.net/svn/sharpsvn/trunk/scripts/MergeTracking-De
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
<snip>
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.
<snip>

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.

        Bert

> -----Original Message-----
> From: Bert Huijben [mailto:B.Huijben_at_competence.biz]
> Sent: maandag 17 maart 2008 15:33
> To: dev_at_subversion.tigris.org
> Subject: 'svn cp wc wc' requires repository access (1.5.x issue)
>
> Hi All,
>
> Using a private repository, when running in a working copy:
>
> # svn cp --username nouser <existing-file> <new-file>
>
> I get a password prompt to get valid user credentials to contact the
> server to retrieve something; possibly merge information. *)
>
> (When the repository allows anonymous reading (as subversions own
> repository) the prompt will not show)
>
>
> In september 2007, when we still had 'svn cp -g ...' I would have
> expected this behaviour.
> (cacknin refered to: http://svn.haxx.se/dev/archive-2007-
> 09/0494.shtml),
> but if I remember correctly this behaviour was removed when the
> implicit
> mergeinfo was added.
>
> The svn clients help text even contains:
>
> # svn help cp
> <snip>
>
> 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.
>
> <snip>
>
> What behaviour should I expect in a 1.5 client?
>
> We should either fix the behaviour or update the helptext.
>
>
> After some research on irc cacknin added:
> ===
> <cacknin> Bert: just reproduced; it seems that although I'm thrown an
> error, the copy *does* happen, and without the
> +mergeinfo stuff
> <cacknin> I think this is a bug since 'svn help cp' says exactly the
> opposite: "WARNING: For compatibility with
> +previous versions of Subversion,copies performed using two working
> copy
> paths (WC -> WC) will not contact the
> +repository."
> ==
>
> Bert
>
> *) I originally found the issue using my non primary user for a wc
> operation instead of an explicit user, so it has nothing to do with
> adding the explicit --username triggering something
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: dev-help_at_subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-03-20 11:51:22 CET

This is an archived mail posted to the Subversion Dev mailing list.