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

perl API: Assertion failed: (svn_dirent_is_canonical(dirent, pool)), function svn_dirent_dirname, file subversion/libsvn_subr/dirent_uri.c, line 1200

From: Anton Yuzhaninov <citrin+svn_at_citrin.ru>
Date: Fri, 31 Jan 2014 20:09:54 +0400

After upgrade to subversion 1.8.5 my perl script no longer works:

Assertion failed: (svn_dirent_is_canonical(dirent, pool)), function
svn_dirent_dirname, file subversion/libsvn_subr/dirent_uri.c, line 1200.
Abort (core dumped)

Simple test case:

use SVN::Client;

my $client = new SVN::Client();

my $file = './infra/named.conf.templ';

$client->diff(
         [], # diff_options
         # $target1, $revision1, $target2, $revision2,
         $file, 'BASE', $file, 'WORKING',
         0, # recursive
         1, # ignore_ancestry
         1, # no_diff_deleted
         \*STDOUT, # outfile
         \*STDERR, # errfile,
);

If $file contains absolute file path, than this script works, but I want to use
relative file path.

If file name should be in some "canonical" form, this canonization IMHO should
be done inside SVN::Client.

Version info:

FreeBSD 8.4-STABLE amd64

svn, version 1.8.5 (r1542147)
    compiled Nov 29 2013, 10:47:43 on amd64-portbld-freebsd8.4
(installed from ports, perl API installed from ports too).

perl 5.16.3 with ithreads
Received on 2014-01-31 17:19:08 CET

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