summaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
authorChristian Engwer <christi@uni-hd.de>2008-05-27 08:46:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-06-01 21:29:50 (GMT)
commitb7166cce8cf4053d9f21e69505bef8699da68903 (patch)
tree87827ea417cbb615a5aa316ba7bd99fe01242b3e /git-svn.perl
parent7d45e1468331e6253d087e77d9082026320410f5 (diff)
downloadgit-b7166cce8cf4053d9f21e69505bef8699da68903.zip
git-b7166cce8cf4053d9f21e69505bef8699da68903.tar.gz
git-b7166cce8cf4053d9f21e69505bef8699da68903.tar.bz2
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>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl2
1 files changed, 1 insertions, 1 deletions
diff --git a/git-svn.perl b/git-svn.perl
index dcb8b77..47b0c37 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1923,7 +1923,7 @@ sub prop_walk {
foreach (sort keys %$dirent) {
next if $dirent->{$_}->{kind} != $SVN::Node::dir;
- $self->prop_walk($p . $_, $rev, $sub);
+ $self->prop_walk($self->{path} . $p . $_, $rev, $sub);
}
}