You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Guido van Rossum <gu...@python.org> on 2007/05/08 16:30:38 UTC

Confusing error: "Cannot replace a directory from within"

Dear svn developers,

I tried svn switch the other day with an invalid branch URL. It gave
me the mysterious error message "Cannot replace a directory from
within". After a web search, mostly finding lots of other folks
confused by the same thing. After nearly giving up, I finally realized
the cause was a typo in my branch name. I wonder if there couldn't be
a better diagnostic in this case? My command was

    svn switch svn+ssh://pythondev@svn.python.org/python/branches/py3k-unistr

Surely there's no other interpretation for that argument string than
as a branch URL that would preclude detecting the situation and
printing a better message?

I showed this to Ben Collins-Sussman who siggested to post here.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by David Glasser <gl...@mit.edu>.
On 5/9/07, Peter Lundblad <pl...@google.com> wrote:
> David Glasser writes:
> > The error is generated in libsvn_repos/reporter.c(drive):
> >
> >   /* If the anchor is the operand, the source and target must be dirs.
> >      Check this before opening the root to avoid modifying the wc. */
> >   else if (!*b->s_operand && (!s_entry || s_entry->kind != svn_node_dir
> >                               || t_entry->kind != svn_node_dir))
> >     return svn_error_create(SVN_ERR_FS_PATH_SYNTAX, NULL,
> >                             _("Cannot replace a directory from within"));
> >
> That's an amazing error code!  If I remember correctly, this is generated
> when an editor run tries to delete the root of the edit.
> I think the "replace" word comes from someone thinking of a specific case
> when this could happen.  But we should definitely be able to have a specific
> error code for this.  (That does obviously not fix the problem for older
> servers.(
>
> > The reporter code is invoked for much more than just switch, and this
> > particular error covers more cases than just the issue at hand.  I
> > thought about making it return a more specific error based on exactly
> > what s_entry->kind and t_entry->kind was, but I'm not incredibly
>
> Why does it matter exaclty what the kinds are?  If the client got a more specific
> error code, it coudl generate a better error message based on what it is
> trying to do.

I'm not sure that every way of generating the current error should be
handled the same by the switch code up top.  So just defining a new
error code and checking for it in the switch code might catch some
other cases (I'm not quite sure what).

> > familiar with the reporter code, and catching the invalid input as
> > soon as it occurs seemed to be less invasive.
> >
> Sure, but we know from DAV that ltos of roundtrips aren't exactly cheap;)
> That's why I'm skeptical about adding three without further investigation.

Hmm.  switch can be a relatively high-roundtrip command anyway, and I
don't think it's typically invoked very frequently.  Adding to that
the issue of older servers, I think it's cleanest to deal with the bad
URLs in the client code like my patch does.  We may also want to make
the reporter give a better error than "Cannot replace a directory from
within", but that can be a separate patch.

--dave

-- 
David Glasser | glasser@mit.edu | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by Peter Lundblad <pl...@google.com>.
David Glasser writes:
> On 5/9/07, Peter Lundblad <pl...@google.com> wrote:
> > For svnserve, this adds three extra roundtrips just for the sanity check
> > (not saying it is the wrong tradeoof if there's no other way) and
> > reconnects twice if you're working against anolder server.
> > Is there a cheaper way to do it?  Is it possible to check for a specific
> > error returned from the server?
> > (I don't have the sources handy ATM, so that might be a too easy question
> > to anser...)
> 
> The error is generated in libsvn_repos/reporter.c(drive):
> 
>   /* If the anchor is the operand, the source and target must be dirs.
>      Check this before opening the root to avoid modifying the wc. */
>   else if (!*b->s_operand && (!s_entry || s_entry->kind != svn_node_dir
>                               || t_entry->kind != svn_node_dir))
>     return svn_error_create(SVN_ERR_FS_PATH_SYNTAX, NULL,
>                             _("Cannot replace a directory from within"));
> 
That's an amazing error code!  If I remember correctly, this is generated
when an editor run tries to delete the root of the edit.
I think the "replace" word comes from someone thinking of a specific case
when this could happen.  But we should definitely be able to have a specific
error code for this.  (That does obviously not fix the problem for older
servers.(

> The reporter code is invoked for much more than just switch, and this
> particular error covers more cases than just the issue at hand.  I
> thought about making it return a more specific error based on exactly
> what s_entry->kind and t_entry->kind was, but I'm not incredibly

Why does it matter exaclty what the kinds are?  If the client got a more specific
error code, it coudl generate a better error message based on what it is
trying to do.

> familiar with the reporter code, and catching the invalid input as
> soon as it occurs seemed to be less invasive.
> 
Sure, but we know from DAV that ltos of roundtrips aren't exactly cheap;)
That's why I'm skeptical about adding three without further investigation.

> (On the other hand, arguably this is never a useful error message.  I
> haven't quite figured out all the cases that it can occur yet.)

Updting when yuor update target was removed/renamed is one example I can think
of.  I guess this is where the actual message stems from.
> 
> The reparents shouldn't be able to fail at least, right?
> 
Of course they can, but why's that relevant?

Best,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by Greg Hudson <gh...@MIT.EDU>.
On Wed, 2007-05-09 at 20:54 -0700, C. Michael Pilato wrote:
> I would agree that this is never a useful error message.  I think fixing
> this message alone would go 80% of the way of solving the problem.

The error message is basically correct, just not very helpful.  If you
run, from outside the directory:

  svn switch svn://nonexistent-url dirname

then the switch will succeed:

  D dirname

However, from inside the directory, we cannot perform that operation;
thus "cannot replace a directory [with a file, or with nothing] from
within".

Okay, "deleting" and "replacing [with nothing]" are arguably different
things.  But I don't think the message would be much more helpful if we
said "Cannot replace or delete a directory from within," or even if we
returned two different messages for the two different cases.

Really, should svn switch to a nonexistent URL ever get as far as an
editor drive?  Is the behavior from outside the working dir correct?  I
tend to think the problem is in the higher-level code.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by "C. Michael Pilato" <cm...@collab.net>.
David Glasser wrote:
> On 5/9/07, Peter Lundblad <pl...@google.com> wrote:
>> For svnserve, this adds three extra roundtrips just for the sanity check
>> (not saying it is the wrong tradeoof if there's no other way) and
>> reconnects twice if you're working against anolder server.
>> Is there a cheaper way to do it?  Is it possible to check for a specific
>> error returned from the server?
>> (I don't have the sources handy ATM, so that might be a too easy question
>> to anser...)
> 
> The error is generated in libsvn_repos/reporter.c(drive):
> 
>  /* If the anchor is the operand, the source and target must be dirs.
>     Check this before opening the root to avoid modifying the wc. */
>  else if (!*b->s_operand && (!s_entry || s_entry->kind != svn_node_dir
>                              || t_entry->kind != svn_node_dir))
>    return svn_error_create(SVN_ERR_FS_PATH_SYNTAX, NULL,
>                            _("Cannot replace a directory from within"));
> 
> The reporter code is invoked for much more than just switch, and this
> particular error covers more cases than just the issue at hand.  I
> thought about making it return a more specific error based on exactly
> what s_entry->kind and t_entry->kind was, but I'm not incredibly
> familiar with the reporter code, and catching the invalid input as
> soon as it occurs seemed to be less invasive.
> 
> (On the other hand, arguably this is never a useful error message.  I
> haven't quite figured out all the cases that it can occur yet.)
> 
> The reparents shouldn't be able to fail at least, right?

I would agree that this is never a useful error message.  I think fixing
this message alone would go 80% of the way of solving the problem.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand


Re: Confusing error: "Cannot replace a directory from within"

Posted by David Glasser <gl...@mit.edu>.
On 5/9/07, Peter Lundblad <pl...@google.com> wrote:
> For svnserve, this adds three extra roundtrips just for the sanity check
> (not saying it is the wrong tradeoof if there's no other way) and
> reconnects twice if you're working against anolder server.
> Is there a cheaper way to do it?  Is it possible to check for a specific
> error returned from the server?
> (I don't have the sources handy ATM, so that might be a too easy question
> to anser...)

The error is generated in libsvn_repos/reporter.c(drive):

  /* If the anchor is the operand, the source and target must be dirs.
     Check this before opening the root to avoid modifying the wc. */
  else if (!*b->s_operand && (!s_entry || s_entry->kind != svn_node_dir
                              || t_entry->kind != svn_node_dir))
    return svn_error_create(SVN_ERR_FS_PATH_SYNTAX, NULL,
                            _("Cannot replace a directory from within"));

The reporter code is invoked for much more than just switch, and this
particular error covers more cases than just the issue at hand.  I
thought about making it return a more specific error based on exactly
what s_entry->kind and t_entry->kind was, but I'm not incredibly
familiar with the reporter code, and catching the invalid input as
soon as it occurs seemed to be less invasive.

(On the other hand, arguably this is never a useful error message.  I
haven't quite figured out all the cases that it can occur yet.)

The reparents shouldn't be able to fail at least, right?

--dave

-- 
David Glasser | glasser@mit.edu | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by Peter Lundblad <pl...@google.com>.
David Glasser writes:
> +  /* Check to make sure that the switch target actually exists. */
> +  SVN_ERR(svn_ra_reparent(ra_session, source_root, pool));
> +  SVN_ERR(svn_ra_check_path(ra_session,
> +                            svn_path_is_child(source_root, switch_url, pool),
> +                            revnum,
> +                            &switch_url_kind,
> +                            pool));
> +
> +  if (switch_url_kind == svn_node_none)
> +    return svn_error_createf
> +      (SVN_ERR_WC_INVALID_SWITCH, NULL,
> +       _("No such path '%s'"), switch_url);
> +
> +  SVN_ERR(svn_ra_reparent(ra_session, URL, pool));
> +
> +

For svnserve, this adds three extra roundtrips just for the sanity check
(not saying it is the wrong tradeoof if there's no other way) and
reconnects twice if you're working against anolder server.
Is there a cheaper way to do it?  Is it possible to check for a specific
error returned from the server?
(I don't have the sources handy ATM, so that might be a too easy question
to anser...)

Thanks,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by David Glasser <gl...@mit.edu>.
On 5/12/07, David Glasser <gl...@mit.edu> wrote:
> If so, I think I will apply it; although it's possible that the
> low-level error message should also be approved, I think it should
> validate the input at the client level before launching the whole
> editor drive, and that the single extra http request / three svnserve
> roundtrips is not much overhead compared to the entire switch request.

Committed in r25010.

--dave

-- 
David Glasser | glasser@mit.edu | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by Karl Fogel <kf...@red-bean.com>.
"David Glasser" <gl...@mit.edu> writes:
> Karl, did the tests pass for you over http://?

Yes, it did, sorry for forgetting to say so.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by David Glasser <gl...@mit.edu>.
On 5/9/07, Karl Fogel <kf...@red-bean.com> wrote:

> I saw your pastebin of the same patch.  I'll apply it here and test
> over http:// while you're running the svn:// tests.

Karl, did the tests pass for you over http://?

If so, I think I will apply it; although it's possible that the
low-level error message should also be approved, I think it should
validate the input at the client level before launching the whole
editor drive, and that the single extra http request / three svnserve
roundtrips is not much overhead compared to the entire switch request.

--dave

-- 
David Glasser | glasser@mit.edu | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by David Glasser <gl...@mit.edu>.
On 5/9/07, Karl Fogel <kf...@red-bean.com> wrote:
> > +  /* Disallow a switch operation to change the repository root of the
> > target. */
> > +  if (! svn_path_is_ancestor(source_root, switch_url))
> > +    return svn_error_createf
> > +      (SVN_ERR_WC_INVALID_SWITCH, NULL,
> > +       _("'%s'\n"
> > +         "is not the same repository as\n"
> > +         "'%s'"), switch_url, source_root);
>
> [Odd line-wrapping from your mailer there, but no big deal.]
>
> So, just to make sure I understand correctly: here you're introducing
> a sanity check (make sure they're the same repository) that's not
> really related to the bug reported, right?  Not objecting, just making
> sure I understand -- and the log message might want to mention it.
>
> When someone wants to switch from, say, "svn+ssh://" to "svn://",
> should they use 'switch --relocate'?  If not, and the recommended way
> is plain 'svn switch', then I think this check would block them...

Good point, I'll mention that in the log message.  In fact, this block
is borrowed from the creation of the switch editor in
libsvn_wc/update_editor.c(make_editor); so adding this check here only
catches the issue earlier.  (It still should be checked in libsvn_wc
as well, of course.)

> Well, we know it's a switch, so how about
>
>    return svn_error_createf
>      (SVN_ERR_WC_INVALID_SWITCH, NULL,
>       _("Destination does not exist: '%s'"), switch_url);

Sounds good.

> Fast work!

I only have two class assignments left as a student ever.  It's my
last chance to procrastinate homework.  Quite an incentive :)

--dave

-- 
David Glasser | glasser@mit.edu | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by Karl Fogel <kf...@red-bean.com>.
"David Glasser" <gl...@mit.edu> writes:
> Karl, do you think the following patch is fixing the problem at the
> right level?  (Also, have a better suggestion for the error message?)
>
> [[[
> Provide a less cryptic error message when you try to "svn switch"
> to an URL that doesn't exist.
>
> * subversion/libsvn_client/switch.c
>  (svn_client__switch_internal): Check to make sure that switch_url is actually
>   a directory or file before going too far.
> ]]]

Hmm, how about just "Make sure destination exists before proceeding."?
(The problem is more about existence than type.)

> === subversion/libsvn_client/switch.c
> ==================================================================
> --- subversion/libsvn_client/switch.c	(revision 117906)
> +++ subversion/libsvn_client/switch.c	(local)
> @@ -67,9 +67,10 @@
>   const svn_ra_reporter3_t *reporter;
>   void *report_baton;
>   const svn_wc_entry_t *entry;
> -  const char *URL, *anchor, *target;
> +  const char *URL, *anchor, *target, *source_root;
>   svn_ra_session_t *ra_session;
>   svn_revnum_t revnum;
> +  svn_node_kind_t switch_url_kind;
>   svn_error_t *err = SVN_NO_ERROR;
>   svn_wc_adm_access_t *adm_access, *dir_access;
>   const char *diff3_cmd;
> @@ -125,7 +126,32 @@
>                                                ctx, pool));
>   SVN_ERR(svn_client__get_revision_number
>           (&revnum, ra_session, revision, path, pool));
> +  SVN_ERR(svn_ra_get_repos_root(ra_session, &source_root, pool));
> +
> +  /* Disallow a switch operation to change the repository root of the
> target. */
> +  if (! svn_path_is_ancestor(source_root, switch_url))
> +    return svn_error_createf
> +      (SVN_ERR_WC_INVALID_SWITCH, NULL,
> +       _("'%s'\n"
> +         "is not the same repository as\n"
> +         "'%s'"), switch_url, source_root);

[Odd line-wrapping from your mailer there, but no big deal.]

So, just to make sure I understand correctly: here you're introducing
a sanity check (make sure they're the same repository) that's not
really related to the bug reported, right?  Not objecting, just making
sure I understand -- and the log message might want to mention it.

When someone wants to switch from, say, "svn+ssh://" to "svn://",
should they use 'switch --relocate'?  If not, and the recommended way
is plain 'svn switch', then I think this check would block them...

> +  /* Check to make sure that the switch target actually exists. */
> +  SVN_ERR(svn_ra_reparent(ra_session, source_root, pool));
> +  SVN_ERR(svn_ra_check_path(ra_session,
> +                            svn_path_is_child(source_root, switch_url, pool),
> +                            revnum,
> +                            &switch_url_kind,
> +                            pool));
> +
> +  if (switch_url_kind == svn_node_none)
> +    return svn_error_createf
> +      (SVN_ERR_WC_INVALID_SWITCH, NULL,
> +       _("No such path '%s'"), switch_url);
> +
> +  SVN_ERR(svn_ra_reparent(ra_session, URL, pool));

Well, we know it's a switch, so how about

   return svn_error_createf
     (SVN_ERR_WC_INVALID_SWITCH, NULL,
      _("Destination does not exist: '%s'"), switch_url);

?

I saw your pastebin of the same patch.  I'll apply it here and test
over http:// while you're running the svn:// tests.

Fast work!

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by David Glasser <gl...@mit.edu>.
On 5/9/07, David Glasser <gl...@mit.edu> wrote:
> On 5/9/07, Karl Fogel <kf...@red-bean.com> wrote:
> > Still a bit cryptic, but at least in the right ballpark.  This is with
> > trunk Subversion (i.e., 1.5-dev).  I'll try setting up an svn://
> > repository and seeing if it gives the same error message with that...
>
> On current trunk, I'm seeing the "Cannot replace a directory from
> within" error when using svn switch to a nonexistent path with
> svn+ssh.

Karl, do you think the following patch is fixing the problem at the
right level?  (Also, have a better suggestion for the error message?)

--dave

-- 
David Glasser | glasser@mit.edu | http://www.davidglasser.net/

[[[
Provide a less cryptic error message when you try to "svn switch"
to an URL that doesn't exist.

* subversion/libsvn_client/switch.c
  (svn_client__switch_internal): Check to make sure that switch_url is actually
   a directory or file before going too far.
]]]

=== subversion/libsvn_client/switch.c
==================================================================
--- subversion/libsvn_client/switch.c	(revision 117906)
+++ subversion/libsvn_client/switch.c	(local)
@@ -67,9 +67,10 @@
   const svn_ra_reporter3_t *reporter;
   void *report_baton;
   const svn_wc_entry_t *entry;
-  const char *URL, *anchor, *target;
+  const char *URL, *anchor, *target, *source_root;
   svn_ra_session_t *ra_session;
   svn_revnum_t revnum;
+  svn_node_kind_t switch_url_kind;
   svn_error_t *err = SVN_NO_ERROR;
   svn_wc_adm_access_t *adm_access, *dir_access;
   const char *diff3_cmd;
@@ -125,7 +126,32 @@
                                                ctx, pool));
   SVN_ERR(svn_client__get_revision_number
           (&revnum, ra_session, revision, path, pool));
+  SVN_ERR(svn_ra_get_repos_root(ra_session, &source_root, pool));
+
+  /* Disallow a switch operation to change the repository root of the
target. */
+  if (! svn_path_is_ancestor(source_root, switch_url))
+    return svn_error_createf
+      (SVN_ERR_WC_INVALID_SWITCH, NULL,
+       _("'%s'\n"
+         "is not the same repository as\n"
+         "'%s'"), switch_url, source_root);

+  /* Check to make sure that the switch target actually exists. */
+  SVN_ERR(svn_ra_reparent(ra_session, source_root, pool));
+  SVN_ERR(svn_ra_check_path(ra_session,
+                            svn_path_is_child(source_root, switch_url, pool),
+                            revnum,
+                            &switch_url_kind,
+                            pool));
+
+  if (switch_url_kind == svn_node_none)
+    return svn_error_createf
+      (SVN_ERR_WC_INVALID_SWITCH, NULL,
+       _("No such path '%s'"), switch_url);
+
+  SVN_ERR(svn_ra_reparent(ra_session, URL, pool));
+
+
   /* Fetch the switch (update) editor.  If REVISION is invalid, that's
      okay; the RA driver will call editor->set_target_revision() later on. */
   SVN_ERR(svn_wc_get_switch_editor3(&revnum, adm_access, target,

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by Karl Fogel <kf...@red-bean.com>.
"David Glasser" <gl...@mit.edu> writes:
> On 5/9/07, Karl Fogel <kf...@red-bean.com> wrote:
>> Still a bit cryptic, but at least in the right ballpark.  This is with
>> trunk Subversion (i.e., 1.5-dev).  I'll try setting up an svn://
>> repository and seeing if it gives the same error message with that...
>
> On current trunk, I'm seeing the "Cannot replace a directory from
> within" error when using svn switch to a nonexistent path with
> svn+ssh.

David just told me in IRC he's got a patch for this.  And now that
I've said it here, he can't back out :-).

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by David Glasser <gl...@mit.edu>.
On 5/9/07, Karl Fogel <kf...@red-bean.com> wrote:
> Still a bit cryptic, but at least in the right ballpark.  This is with
> trunk Subversion (i.e., 1.5-dev).  I'll try setting up an svn://
> repository and seeing if it gives the same error message with that...

On current trunk, I'm seeing the "Cannot replace a directory from
within" error when using svn switch to a nonexistent path with
svn+ssh.

--dave

-- 
David Glasser | glasser@mit.edu | http://www.davidglasser.net/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Confusing error: "Cannot replace a directory from within"

Posted by Karl Fogel <kf...@red-bean.com>.
"Guido van Rossum" <gu...@python.org> writes:
> I tried svn switch the other day with an invalid branch URL. It gave
> me the mysterious error message "Cannot replace a directory from
> within". After a web search, mostly finding lots of other folks
> confused by the same thing. After nearly giving up, I finally realized
> the cause was a typo in my branch name. I wonder if there couldn't be
> a better diagnostic in this case? My command was
>
>    svn switch svn+ssh://pythondev@svn.python.org/python/branches/py3k-unistr
>
> Surely there's no other interpretation for that argument string than
> as a branch URL that would preclude detecting the situation and
> printing a better message?
>
> I showed this to Ben Collins-Sussman who siggested to post here.

Yeah, if the URL doesn't even exist, you'd think that would be the
first error detected!  What version of the Subversion client were you
running?

I just tried to reproduce this over http:// (didn't have an svn:// or
svn+ssh:// working copy at hand), but got a somewhat more reasonable
error message:

   $ svn info | grep URL
   URL: http://svn.collab.net/repos/svn/trunk/notes
   $ svn switch http://svn.collab.net/repos/svn/branches/1.4.x/notesTYPO/
   subversion/libsvn_ra_dav/util.c:1198: (apr_err=160005)
   svn: REPORT request failed on '/repos/svn/!svn/vcc/default'
   subversion/libsvn_ra_dav/util.c:630: (apr_err=160005)
   svn: Target path does not exist
   $ 

Still a bit cryptic, but at least in the right ballpark.  This is with
trunk Subversion (i.e., 1.5-dev).  I'll try setting up an svn://
repository and seeing if it gives the same error message with that...

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org