Re: [PATCH] Trim leading / off of paths in git-svn prop_walk

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] Trim leading / off of paths in git-svn prop_walk

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:04

Kevin Ballard [off-list ref] writes:
prop_walk adds a leading / to all subdirectory paths. Unfortunately
this causes a problem when the remote repo lives in a subdirectory itself,
as the leading / causes subsequent PROPFIND calls to be executed on
the wrong path. Trimming the / before calling the PROPFIND fixes this problem.

Signed-off-by: Kevin Ballard <redacted>
Eric, the change is very limited in scope (only the parameter to
ra->get_dir() changes) so I can apply myself, if you agree this
is a trivially correct fix.  I just do not know svn-perl
interface well enough to judge.
quoted hunk
All tests passed after this change, but since it seems to only apply
to WebDAV SVN repos I saw no way to add a new test.
 git-svn.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index 3308fe1..d5316eb 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1858,6 +1858,7 @@ sub rel_path {
 sub prop_walk {
 	my ($self, $path, $rev, $sub) = @_;
 
+	$path =~ s#^/##;
 	my ($dirent, undef, $props) = $self->ra->get_dir($path, $rev);
 	$path =~ s#^/*#/#g;
 	my $p = $path;
-- 
1.5.4.rc2.68.ge708a-dirty

Re: [PATCH] Trim leading / off of paths in git-svn prop_walk

From: Eric Wong <hidden>
Date: 2016-06-15 22:44:04

Junio C Hamano [off-list ref] wrote:
Kevin Ballard [off-list ref] writes:
quoted
prop_walk adds a leading / to all subdirectory paths. Unfortunately
this causes a problem when the remote repo lives in a subdirectory itself,
as the leading / causes subsequent PROPFIND calls to be executed on
the wrong path. Trimming the / before calling the PROPFIND fixes this problem.

Signed-off-by: Kevin Ballard <redacted>
Eric, the change is very limited in scope (only the parameter to
ra->get_dir() changes) so I can apply myself, if you agree this
is a trivially correct fix.  I just do not know svn-perl
interface well enough to judge.
Yes it is.  It appears this regression was introduced in
01bdab84e31763a98206c31cf99b9dc3cb221356 so yes, it's trivially
correct :)

Acked-by: Eric Wong <redacted>
quoted
All tests passed after this change, but since it seems to only apply
to WebDAV SVN repos I saw no way to add a new test.
 git-svn.perl |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl
index 3308fe1..d5316eb 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1858,6 +1858,7 @@ sub rel_path {
 sub prop_walk {
 	my ($self, $path, $rev, $sub) = @_;
 
+	$path =~ s#^/##;
 	my ($dirent, undef, $props) = $self->ra->get_dir($path, $rev);
 	$path =~ s#^/*#/#g;
 	my $p = $path;
-- 
1.5.4.rc2.68.ge708a-dirty
-- 
Eric Wong
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help