# [Nikolaus Schulz] Re: [PATCH] git-svn fails in prop_walk if $self->{path} is not empty

2 messages from 2008-05-31 to 2008-06-01. Participants: Junio C Hamano, Eric Wong.
Thread: https://gitlist.dev/t/13745

## Junio C Hamano, 2008-05-31 21:24

Subject: [Nikolaus Schulz] Re: [PATCH] git-svn fails in prop_walk if $self->{path} is not empty
Message-ID: <7v3anyf9pw.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v3anyf9pw.fsf%40gitster.siamese.dyndns.org

```
Ping?

Date:	Wed, 28 May 2008 00:54:02 +0200
To:	git@vger.kernel.org
Subject: Re: [PATCH] git-svn fails in prop_walk if $self->{path} is not empty
Message-ID: <20080527225402.GA25550@penelope.zusammrottung.local>
From:	Nikolaus Schulz <microschulz@web.de>

Happy coincidence!

This patch happens to fix my problem posted in "git-svn
{show,create}-ignore chokes upon subdirs" today. 

Nikolaus

On Tue, May 27, 2008 at 08:46:55AM +0000, Gerrit Pape wrote:
> From: Christian Engwer <christi@uni-hd.de>
> 
> 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 priviously stipped
> $self->{path} in the recursive call. 
> 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>
> ---
> 
> I'm not that much a git-svn user, and didn't test this thoroughly.  I'd
> be happy if anyone could crossread/test this, and maybe add a Acked-By.
> 
> Thanks, Gerrit.
> 
> 
>  git-svn.perl |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/git-svn.perl b/git-svn.perl
> index 37976f2..72fef16 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -1918,7 +1918,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);
>  	}
>  }

```

## Eric Wong, 2008-06-01 09:41

Subject: Re: [Nikolaus Schulz] Re: [PATCH] git-svn fails in prop_walk if $self->{path} is not empty
Message-ID: <20080601094147.GA16064@hand.yhbt.net>
URL: https://gitlist.dev/e/20080601094147.GA16064%40hand.yhbt.net
In-Reply-To: <7v3anyf9pw.fsf@gitster.siamese.dyndns.org>

```
Junio C Hamano <gitster@pobox.com> wrote:
> Ping?

Oops, missed this.  This looks right to me, (but haven't had time to
test to make sure this really works).

There is are minor spelling errors/typo in the commit message, which
I've noted below, though.

Unless Benoit steps in and objects:
  Acked-By: Eric Wong <normalperson@yhbt.net>

> Date:	Wed, 28 May 2008 00:54:02 +0200
> To:	git@vger.kernel.org
> Subject: Re: [PATCH] git-svn fails in prop_walk if $self->{path} is not empty
> Message-ID: <20080527225402.GA25550@penelope.zusammrottung.local>
> From:	Nikolaus Schulz <microschulz@web.de>
> 
> Happy coincidence!
> 
> This patch happens to fix my problem posted in "git-svn
> {show,create}-ignore chokes upon subdirs" today. 
> 
> Nikolaus
> 
> On Tue, May 27, 2008 at 08:46:55AM +0000, Gerrit Pape wrote:
> > From: Christian Engwer <christi@uni-hd.de>
> > 
> > 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 priviously stipped
                                                      previously stripped
> > $self->{path} in the recursive call. 
> > 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>
> > ---
> > 
> > I'm not that much a git-svn user, and didn't test this thoroughly.  I'd
> > be happy if anyone could crossread/test this, and maybe add a Acked-By.
> > 
> > Thanks, Gerrit.
> > 
> > 
> >  git-svn.perl |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/git-svn.perl b/git-svn.perl
> > index 37976f2..72fef16 100755
> > --- a/git-svn.perl
> > +++ b/git-svn.perl
> > @@ -1918,7 +1918,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);
> >  	}
> >  }

```
