# [PATCH] git-svn: allow "0" in SVN path components

2 messages from 2016-12-12 to 2016-12-12. Participants: Eric Wong, Junio C Hamano.
Thread: https://gitlist.dev/t/44682

## Eric Wong, 2016-12-12 11:09

Subject: [PATCH] git-svn: allow "0" in SVN path components
Message-ID: <20161212110914.GA24736@starla>
URL: https://gitlist.dev/e/20161212110914.GA24736%40starla

```
Blindly checking a path component for falsiness is unwise, as
"0" is false to Perl, but a valid pathname component for SVN
(or any filesystem).

Found via random code reading.

Signed-off-by: Eric Wong <e@80x24.org>
---
  Junio: this bugfix should go to "maint".
  Will push along with a doc fix for Juergen.

 perl/Git/SVN/Ra.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/perl/Git/SVN/Ra.pm b/perl/Git/SVN/Ra.pm
index e764696801..56ad9870bc 100644
--- a/perl/Git/SVN/Ra.pm
+++ b/perl/Git/SVN/Ra.pm
@@ -606,7 +606,7 @@ sub minimize_url {
 			my $latest = $ra->get_latest_revnum;
 			$ra->get_log("", $latest, 0, 1, 0, 1, sub {});
 		};
-	} while ($@ && ($c = shift @components));
+	} while ($@ && defined($c = shift @components));
 
 	return canonicalize_url($url);
 }
-- 
EW

```

## Junio C Hamano, 2016-12-12 19:04

Subject: Re: [PATCH] git-svn: allow "0" in SVN path components
Message-ID: <xmqqinqpm0it.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqinqpm0it.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <20161212110914.GA24736@starla>

```
Eric Wong <e@80x24.org> writes:

> Blindly checking a path component for falsiness is unwise, as
> "0" is false to Perl, but a valid pathname component for SVN
> (or any filesystem).
>
> Found via random code reading.
>
> Signed-off-by: Eric Wong <e@80x24.org>
> ---
>   Junio: this bugfix should go to "maint".
>   Will push along with a doc fix for Juergen.
>
>  perl/Git/SVN/Ra.pm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/perl/Git/SVN/Ra.pm b/perl/Git/SVN/Ra.pm
> index e764696801..56ad9870bc 100644
> --- a/perl/Git/SVN/Ra.pm
> +++ b/perl/Git/SVN/Ra.pm
> @@ -606,7 +606,7 @@ sub minimize_url {
>  			my $latest = $ra->get_latest_revnum;
>  			$ra->get_log("", $latest, 0, 1, 0, 1, sub {});
>  		};
> -	} while ($@ && ($c = shift @components));
> +	} while ($@ && defined($c = shift @components));
>  
>  	return canonicalize_url($url);
>  }

Makes sense to me.  Thanks.

```
