From: Eric Wong Date: Mon, 07 Jul 2008 09:06:05 GMT Subject: Re: [PATCH/rfc] git-svn.perl: workaround assertions in svn library 1.5.0 Message-ID: <20080707090605.GA20731@untitled> In-Reply-To: <20080706192850.32547.qmail@4480698c45f1ed.315fe32.mid.smarden.org> Gerrit Pape wrote: > With subversion 1.5.0 (C and perl libraries) the git-svn selftest > t9101-git-svn-props.sh fails at test 25 and 26. The following commands > cause assertions in the svn library > > $ cd deeply > $ git-svn propget svn:ignore . > perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_ra/ra_loader.c:674: svn_ra_get_dir: Assertion `*path != '/'' failed. > Aborted > > $ git-svn propget svn:ignore .. > perl: /build/buildd/subversion-1.5.0dfsg1/subversion/libsvn_subr/path.c:120: svn_path_join: Assertion `is_canonical(component, clen)' failed. > > With this commit, git-svn makes sure the path doesn't start with a > slash, and is not a dot, working around these assertions. > > The breakage was reported by Lucas Nussbaum through > http://bugs.debian.org/489108 > > Signed-off-by: Gerrit Pape Thanks Gerrit, This works with svn 1.4.3 here Acked-by: Eric Wong > --- > git-svn.perl | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > I ran into this on Debian/unstable. With svn 1.5.0 the selftest fails > without the patch, with svn 1.4.6 it succeeds with and without the > patch. I'm not familar with the svn interfaces, not sure whether this > is a regression in subversion, or a bug in git-svn. > > > diff --git a/git-svn.perl b/git-svn.perl > index f789a6e..a366c89 100755 > --- a/git-svn.perl > +++ b/git-svn.perl > @@ -643,6 +643,8 @@ sub canonicalize_path { > $path =~ s#/[^/]+/\.\.##g; > $path =~ s#/$##g; > $path =~ s#^\./## if $dot_slash_added; > + $path =~ s#^/##; > + $path =~ s#^\.$##; > return $path; > } > > -- > 1.5.6