[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Root-relative svn:externals result in error exporting a specific revision

From: Doug Brown <doug_at_schmorgal.com>
Date: Wed, 12 Jul 2017 17:34:48 -0700

Hi,

I recently discovered what I think is a bug in Subversion. As per the
bug reporting instructions, I'm posting on this mailing list first to
confirm. I'm seeing this issue in fully-updated Ubuntu 16.04 with
subversion 1.9.3, as well as the subversion trunk revision 1801307. It
seems to be related to svn:externals with root-relative URLs (^/). If I
attempt to export a specific revision from a checkout, and that revision
contains root-relative externals, svn will error out:

svn: subversion/libsvn_subr/dirent_uri.c:324: canonicalize: Assertion
`*src != '/'' failed.
Aborted (core dumped)

It only seems to be a problem if I'm exporting from a checkout rather
than a repository URL. Here is an example set of steps to reproduce this
problem:

# Set up a repository with root-relative externals
svnadmin create /tmp/testrepo
svn co file:///tmp/testrepo /tmp/testrepo-co
cd /tmp/testrepo-co
touch test1.txt
svn add test1.txt
svn mkdir ext
svn propset svn:externals '^/test1.txt test2.txt' ext
svn commit -m "test commit 1"
svn update

# Exporting without the -r option succeeds
svn export /tmp/testrepo-co /tmp/testexport1

# Exporting from the repository URL with -r succeeds
svn export -r 1 file:///tmp/testrepo /tmp/testexport2

# Exporting from a checkout with -r errors out with the following message:
# svn: subversion/libsvn_subr/dirent_uri.c:324: canonicalize: Assertion
`*src != '/'' failed.
svn export -r 1 /tmp/testrepo-co /tmp/testexport3

I believe that it's a bug and I should still be able to use the -r
option when exporting from a checkout. Anybody have any thoughts? Am I
OK to make a report in the issue tracker?

I am not subscribed to this list, so please CC me with any responses.
Thanks!

Doug
Received on 2017-07-16 12:46:20 CEST

This is an archived mail posted to the Subversion Users mailing list.