@matheusbsbs / matheus-bagliano / commits / b7166cce8c
Fork 0

git-svn fails in prop_walk if $self->{path} is not empty

If url://repo/trunk is the current Git branch, prop_walk strips trunk from the path name. That is useful as, for example "git svn show-ignore" should not return results like trunk/foo but foo if svn:ignore for trunk includes foo. The problem now is that prop_walk strips trunk from the path and then calls itself recursively. But now trunk is missing in the path and get_dir fails, because it is called for a non existing path. The attached patch fixed the problem, by adding the previously stipped $self->{path} in the recursive call. I tested it with my current git-svn repository for the commands show-ignore and show-external. Patch was submitted through http://bugs.debian.org/477393 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Christian Engwer committed May 27, 2008 at 08:46 UTC b7166cce8cf4053d9f21e69505bef8699da68903
1 file changed +1 -1
git-svn.perl
+1 -1
@@ -1923,7 +1923,7 @@ sub prop_walk {
1923
1924 foreach (sort keys %$dirent) {
1925 next if $dirent->{$_}->{kind} != $SVN::Node::dir;
1926 - $self->prop_walk($p . $_, $rev, $sub);
1926 + $self->prop_walk($self->{path} . $p . $_, $rev, $sub);
1927 }
1928 }
1929