diff options
author | Adam Roben <aroben@apple.com> | 2007-04-25 11:50:32 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-04-25 20:58:02 -0700 |
commit | b03c7a63a0fae58a576749d7a6b0507edde12584 (patch) | |
tree | 551360f644b9553c902362e57b72244cce400542 /git-svn.perl | |
parent | c21aa54e190e6527f05a2a943b343032e9dac90b (diff) | |
download | git-b03c7a63a0fae58a576749d7a6b0507edde12584.tar.gz |
git-svn: Don't rely on $_ after making a function call
Many functions and operators in perl set $_, so its value cannot be relied upon
after calling arbitrary functions. The solution is simply to copy the value of
$_ into a local variable that will not get overwritten.
Signed-off-by: Adam Roben <aroben@apple.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-x | git-svn.perl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/git-svn.perl b/git-svn.perl index 077d6b3a13..90f3bc18b9 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -771,19 +771,19 @@ sub cmt_metadata { sub working_head_info { my ($head, $refs) = @_; my ($fh, $ctx) = command_output_pipe('rev-list', $head); - while (<$fh>) { - chomp; - my ($url, $rev, $uuid) = cmt_metadata($_); + while (my $hash = <$fh>) { + chomp($hash); + my ($url, $rev, $uuid) = cmt_metadata($hash); if (defined $url && defined $rev) { if (my $gs = Git::SVN->find_by_url($url)) { my $c = $gs->rev_db_get($rev); - if ($c && $c eq $_) { + if ($c && $c eq $hash) { close $fh; # break the pipe return ($url, $rev, $uuid, $gs); } } } - unshift @$refs, $_ if $refs; + unshift @$refs, $hash if $refs; } command_close_pipe($fh, $ctx); (undef, undef, undef, undef); |