On 2024-10-10 19:46 UTC Eri Kjeldergaard wrote:
> The relative path '.' is passed to is_canonical causing an assertion
> failure in is_canonical when trying to sort the conflicts.
>
> The minimal path to reproduce requires a conflict of at least 2 items.
One
> of the conflicts should be '.'.
>
>
> Steps to reproduce:
> # create and checkout a repo
> svnadmin create /tmp/test_repo
> svn co file:///tmp/test_repo test_checkout
> cd test_checkout
>
> # stage the conflicts
> ## stage the skeleton
> svn mkdir trunk branches
> svn ci -m 'seed directories'
> svn cp trunk branches/a
> svn ci -m 'create branch a'
> ## stage changes in trunk
> echo "foo" > trunk/foo
> svn add trunk/foo
> svn propset svn:ignore foo trunk
> svn ci -m 'stage trunk'
> ## stage conflicting changes in branches/a
> echo "bar" > branches/a/foo
> svn add branches/a/foo
> svn propset svn:ignore bar branches/a
> svn ci -m 'stage branches/a'
> ## merge
> svn up
> cd branches/a
> svn merge ^/trunk
>
>
> Failure message:
> $ svn merge ^/trunk
> --- Merging r2 through r6 into '.':
>    C foo
>  C   .
> --- Recording mergeinfo for merge of r2 through r6 into '.':
>  U  .
> svn: ../subversion/libsvn_subr/path.c:426: svn_path_compare_paths:
> Assertion `is_canonical(path1, path1_len)` failed.
>

Reply via email to