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.