summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Christian Engwer <christi@uni-hd.de>2008-05-27 08:46:55 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-06-01 14:29:50 -0700
commitb7166cce8cf4053d9f21e69505bef8699da68903 (patch)
tree87827ea417cbb615a5aa316ba7bd99fe01242b3e
parentAdd a --dry-run option to git-svn rebase (diff)
downloadtgif-b7166cce8cf4053d9f21e69505bef8699da68903.tar.xz
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>
-rwxr-xr-xgit-svn.perl2
1 files changed, 1 insertions, 1 deletions
diff --git a/git-svn.perl b/git-svn.perl
index dcb8b779c8..47b0c37d17 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);
}
}