diff options
author | Gerrit Pape <pape@smarden.org> | 2008-07-06 19:28:50 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-07 12:56:16 -0700 |
commit | 2fe403e7452bd6e1e8232445cf5434ce8f1af973 (patch) | |
tree | fcb5b5f14ab2462f2e5f1ba921eddad41b7cd29e /git-svn.perl | |
parent | 6fc2a25e6215f1b1916a3da93bf7ddace8ba5310 (diff) | |
download | git-2fe403e7452bd6e1e8232445cf5434ce8f1af973.tar.gz |
git-svn.perl: workaround assertions in svn library 1.5.0
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 <pape@smarden.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-x | git-svn.perl | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/git-svn.perl b/git-svn.perl index f789a6eeca..a366c891dc 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; } |