On Fri, Apr 7, 2023 at 12:53 AM Daniel Sahlberg <daniel.l.sahlb...@gmail.com>
wrote:

> Den tis 7 mars 2023 kl 20:24 skrev Pavel Lyalyakin via dev <
> dev@subversion.apache.org>:
>
>> Hello,
>>
>> I seem to have found a new bug (I can't find similar reports) so I
>> thought I'd report it to this mailing list. Sorry if it's a known issue.
>>
>> I believe that the command shouldn't work anyway, right? But it shouldn't
>> assert either.
>>
>> The SVN client crashes when I run the following command:
>> [[[
>> svn move https://svn1.mydomain.com/svn/MyRepo/
>> https://svn1.mydomain.com/svn/MyRepo/trunk -m "Test Commit"
>> ]]]
>> [[[
>> svn: E235000: In file '..\..\..\subversion\libsvn_client\copy.c' line
>> 1187: assertion failed (! svn_path_is_empty(path))
>> ]]]
>>
>> SRC URL points to a root of a repository. DST URL points to a
>> non-existent subdirectory.
>>
>
> Hi
>
> I think I have found the root cause and the relevant commit. I will
> document my findings so far in case someone else would like to look at it,
> I need to do some more analysis before I'm ready to suggest a solution.
>
> In subversion/libsvn_client/copy.c, setup_copy, there is a check:
>
> [[[
>          if (svn_dirent_is_child(pair->src_abspath_or_url,
>                                   pair->dst_abspath_or_url, iterpool))
>             return svn_error_createf
>               (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
>                _("Cannot copy path '%s' into its own child '%s'"),
>                svn_dirent_local_style(pair->src_abspath_or_url, pool),
>                svn_dirent_local_style(pair->dst_abspath_or_url, pool));
> ]]]
>
> This should prevent the assertion and instead give a reasonable error
> message.
>
> However, a few lines above, this code is only executed
>
> [[[
>   if (!srcs_are_urls && !dst_is_url)
> ]]]
>
> This condition seems to come from r846422, with a log message referencing
> issue SVN-1367 (from 2003!). There is a reasonable argument in the issue
> description on why this condition was added (it was supposed to manage svn
> copy). There is an argument "is_move" to the function, so it might be
> reasonable to also look at that variable in the above condition.
>
> Kind regards,
> Daniel
>

Daniel,

Thank you for looking into this!

On a side note, this seems to be a rare problem. I don't see any other
reports of this particular assertion (error message).

-- 
With best regards,
Pavel Lyalyakin
VisualSVN Team

Reply via email to