Bug#359679: libsvn-core-perl: status(".", ...) gives an assert()
error
Julian Gilbey
jdg at debian.org
Tue Mar 28 12:31:48 UTC 2006
Package: libsvn-core-perl
Version: 1.2.3dfsg1-3
(Command line input and output broken for readability)
Compare this (1):
burnside:~/debian/tex/tetex-bin $ perl -MSVN::Client -e \
'sub print_names { print "<$_[0]>\n"; } $ctx=new SVN::Client;
$ctx->status("", "BASE", \&print_names, 1, 1, 0, 1);' | head -5
<>
<.pc>
<.pc/.version>
<configure>
<INSTALL.generic>
to this (2):
burnside:~/debian/tex/tetex-bin $ perl -MSVN::Client -e \
'sub print_names { print "<$_[0]>\n"; } $ctx=new SVN::Client;
$ctx->status(".", "BASE", \&print_names, 1, 1, 0, 1);' | head -5
perl: /tmp/buildd/subversion-1.2.3dfsg1/subversion/libsvn_subr/path.c:377:
svn_path_basename: Assertion `is_canonical (path, len)' failed.
Several weirdnesses here:
(a) In (1), there is a blank entry returned initially - perhaps this
is the initial directory? (Incidentally, this breaks
svn-buildpackage, which is why I started looking at this, see
http://bugs.debian.org/334608 .)
(b) In (2), the only change is to call the directory "." instead of
leaving the first argument "". And I end up getting an
unintelligible error message!
Ideally, assert()s should only be used in the code where "this can't
happen". Maybe they are, but this one certainly did happen!
:-)
Julian
More information about the pkg-subversion-maintainers
mailing list