Almost forgot about this. It's now filed in the issue tracker:
http://subversion.tigris.org/issues/show_bug.cgi?id=3751

Cheers,
Johan

On Thu, Sep 30, 2010 at 10:03 PM, Johan Corveleyn <jcor...@gmail.com> wrote:
> Hi devs,
>
> As per Daniel Shahaf's suggestion, I'm continuing this discussion on
> the dev list. See the previous mails in this thread on the users list
> for some context (or
> http://svn.haxx.se/users/archive-2010-09/0406.shtml). I'll summarize
> below.
>
> This issue reproduces with 1.6.12 as well as with trunk. It would be
> interesting to know the WC-NG folks take on this.
>
> Note: the subject line may be slightly exaggerated, as there seems to
> be a good workaround to repair things (at least in case of
> intra-repository externals).
>
> Summary
> -------
>
> Steps to reproduce:
> 1) Change a directory external definition.
>
> 2) svn update
>
> 3) Interrupt (Ctrl-C) while it is processing the "switch" of the
> external. I did this after some files of the external were already
> Updated.
>
> Result:
> svn status now shows a lot of files and directories as S (switched),
> and some directories missing. Running svn info on the switched
> files/dirs shows that they still point to the old external location.
>
> Running svn update again fixes the "missing" dirs, but not the
> switched nodes. "svn revert" does nothing (which is logical: there are
> no local changes). "svn cleanup" does nothing.
>
> Workaround:
> Running "svn switch $new_url $external_dir" brings everything back to normal.
>
>
> So:
> - Wouldn't it be better if "svn update" could repair this (as in
> "resuming the interrupted update from before")?
> - Should I file an issue for this?
> - I'm not sure how all this plays out with externals from remote
> repositories (haven't tested this). With or without a change of the
> remote location. Would an "svn switch --relocate" fix things in the
> same way then?
>
> Note: this can be easily reproduced with any large (public) repository
> (I think). Just define some externals in working copy only (no need to
> commit), update, change external definition (no need to commit),
> update, interrupt.
>
> Cheers,
> --
> Johan
>

Reply via email to