threads / patch / 8214

patchgitweb: Fix "Use of uninitialized value" warning in git_feed

Subject: [PATCH] gitweb: Fix "Use of uninitialized value" warning in git_feed

## tl;dr

4 messages between May 19, 2007 and May 19, 2007. Diffs are folded; open one to read it.

replies: 3people: 2as markdown or json

Jakub Narebski· May 19, 2007, 00:47 UTC · lore

Initial (root) commit has no parents, and $co{'parent'} is undefined. Use '--root' for initial commit.

This fixes "Use of uninitialized value in open at gitweb/gitweb.perl line 4925." warning.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
 gitweb/gitweb.perl |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
Show changes to gitweb/gitweb.perl +2 −1
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index fa8cc02..091cf9c 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -4923,7 +4923,8 @@ XML
 
 		# get list of changed files
 		open my $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
-			$co{'parent'}, $co{'id'}, "--", (defined $file_name ? $file_name : ())
+			$co{'parent'} || "--root",
+			$co{'id'}, "--", (defined $file_name ? $file_name : ())
 			or next;
 		my @difftree = map { chomp; $_ } <$fd>;
 		close $fd
-- 
1.5.1.4
Junio C Hamano· May 19, 2007, 01:45 UTC · re: Jakub Narebski · lore

Re: [PATCH] gitweb: Fix "Use of uninitialized value" warning in git_feed

Jakub Narebski <jnareb@gmail.com> writes:
Show 25 quoted lines
> Initial (root) commit has no parents, and $co{'parent'} is
> undefined. Use '--root' for initial commit.
>
> This fixes "Use of uninitialized value in open at gitweb/gitweb.perl
> line 4925." warning.
>
> Signed-off-by: Jakub Narebski <jnareb@gmail.com>
> ---
>  gitweb/gitweb.perl |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index fa8cc02..091cf9c 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -4923,7 +4923,8 @@ XML
>  
>  		# get list of changed files
>  		open my $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
> -			$co{'parent'}, $co{'id'}, "--", (defined $file_name ? $file_name : ())
> +			$co{'parent'} || "--root",
> +			$co{'id'}, "--", (defined $file_name ? $file_name : ())
>  			or next;
>  		my @difftree = map { chomp; $_ } <$fd>;
>  		close $fd
I do not think you would need to make --root conditional...
Jakub Narebski· May 19, 2007, 02:08 UTC · re: Junio C Hamano · lore

Re: [PATCH] gitweb: Fix "Use of uninitialized value" warning in git_feed

Junio C Hamano wrote:
Show 7 quoted lines
> Jakub Narebski <jnareb@gmail.com> writes:
> 
>> Initial (root) commit has no parents, and $co{'parent'} is
>> undefined. Use '--root' for initial commit.
>>
>> This fixes "Use of uninitialized value in open at gitweb/gitweb.perl
>> line 4925." warning.
[...]
Show 14 quoted lines
>> --- a/gitweb/gitweb.perl
>> +++ b/gitweb/gitweb.perl
>> @@ -4923,7 +4923,8 @@ XML
>>  
>>  		# get list of changed files
>>  		open my $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
>> -			$co{'parent'}, $co{'id'}, "--", (defined $file_name ? $file_name : ())
>> +			$co{'parent'} || "--root",
>> +			$co{'id'}, "--", (defined $file_name ? $file_name : ())
>>  			or next;
>>  		my @difftree = map { chomp; $_ } <$fd>;
>>  		close $fd
> 
> I do not think you would need to make --root conditional...

I need at last make $co{'parent'} conditional, i.e. at least "$co{'parent'} || ()" or equivalent (e.g. like for $file_name). I cannot omit $co{'parent'} because parents might be rewritten; feeds accept now path limiting. So why not this way?

-- 
Jakub Narebski
Poland
Junio C Hamano· May 19, 2007, 02:49 UTC · re: Jakub Narebski · lore

Re: [PATCH] gitweb: Fix "Use of uninitialized value" warning in git_feed

Jakub Narebski <jnareb@gmail.com> writes:
Show 28 quoted lines
> Junio C Hamano wrote:
>> Jakub Narebski <jnareb@gmail.com> writes:
>> 
>>> Initial (root) commit has no parents, and $co{'parent'} is
>>> undefined. Use '--root' for initial commit.
>>>
>>> This fixes "Use of uninitialized value in open at gitweb/gitweb.perl
>>> line 4925." warning.
> [...]
>>> --- a/gitweb/gitweb.perl
>>> +++ b/gitweb/gitweb.perl
>>> @@ -4923,7 +4923,8 @@ XML
>>>  
>>>  		# get list of changed files
>>>  		open my $fd, "-|", git_cmd(), "diff-tree", '-r', @diff_opts,
>>> -			$co{'parent'}, $co{'id'}, "--", (defined $file_name ? $file_name : ())
>>> +			$co{'parent'} || "--root",
>>> +			$co{'id'}, "--", (defined $file_name ? $file_name : ())
>>>  			or next;
>>>  		my @difftree = map { chomp; $_ } <$fd>;
>>>  		close $fd
>> 
>> I do not think you would need to make --root conditional...
>
> I need at last make $co{'parent'} conditional, i.e. at least 
> "$co{'parent'} || ()" or equivalent (e.g. like for $file_name).
> I cannot omit $co{'parent'} because parents might be rewritten;
> feeds accept now path limiting. So why not this way?
Ah, clever (buuuuuuut misleading) ;-)

← back to recent threads