From: Jakub Narebski Date: Sat, 18 Nov 2006 22:35:41 +0000 (+0100) Subject: gitweb: Default to $hash_base or HEAD for $hash in "commit" and "commitdiff" X-Git-Tag: v1.5.0-rc0~229^2~4 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=9954f772eb73593d9e660e3b2c3f90341b03a087;p=git.git gitweb: Default to $hash_base or HEAD for $hash in "commit" and "commitdiff" Set $hash parameter to $hash_base || "HEAD" if it is not set (if it is not true to be more exact). This allows [hand-edited] URLs with 'action' "commit" or "commitdiff" but without 'hash' parameter. If there is 'h' (hash) parameter provided, then gitweb tries to use this. HEAD is used _only_ if nether hash, nor hash_base are provided, i.e. for URL like below URL?p=project.git;a=commit i.e. without neither 'h' nor 'hb'. Signed-off-by: Jakub Narebski Signed-off-by: Junio C Hamano --- diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index bf58c3bac..19b3d36d1 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -3429,6 +3429,7 @@ sub git_log { } sub git_commit { + $hash ||= $hash_base || "HEAD"; my %co = parse_commit($hash); if (!%co) { die_error(undef, "Unknown commit object"); @@ -3706,6 +3707,7 @@ sub git_blobdiff_plain { sub git_commitdiff { my $format = shift || 'html'; + $hash ||= $hash_base || "HEAD"; my %co = parse_commit($hash); if (!%co) { die_error(undef, "Unknown commit object");