gitweb: tree view: hash_base and hash are now context sensitive
In tree view, by default, hash_base is HEAD and hash is the entry equivalent. Else the user had selected a hash_base or hash, say by clicking on a revision or commit, in which case those values are used. Signed-off-by: Luben Tuikov <ltuikov@yahoo.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
6d81c5a2ea
commit
6f7ea5fb33
@ -1672,8 +1672,8 @@ sub git_print_tree_entry {
|
||||
"history");
|
||||
}
|
||||
print " | " .
|
||||
$cgi->a({-href => href(action=>"blob_plain",
|
||||
hash=>$t->{'hash'}, file_name=>"$basedir$t->{'name'}")},
|
||||
$cgi->a({-href => href(action=>"blob_plain", hash_base=>$hash_base,
|
||||
file_name=>"$basedir$t->{'name'}")},
|
||||
"raw");
|
||||
print "</td>\n";
|
||||
|
||||
@ -2745,14 +2745,14 @@ sub git_blob {
|
||||
sub git_tree {
|
||||
my $have_snapshot = gitweb_have_snapshot();
|
||||
|
||||
if (!defined $hash) {
|
||||
$hash = git_get_head_hash($project);
|
||||
if (defined $file_name) {
|
||||
my $base = $hash_base || $hash;
|
||||
$hash = git_get_hash_by_path($base, $file_name, "tree");
|
||||
}
|
||||
if (!defined $hash_base) {
|
||||
$hash_base = $hash;
|
||||
$hash_base = "HEAD";
|
||||
}
|
||||
if (!defined $hash) {
|
||||
if (defined $file_name) {
|
||||
$hash = git_get_hash_by_path($hash_base, $file_name, "tree");
|
||||
} else {
|
||||
$hash = $hash_base;
|
||||
}
|
||||
}
|
||||
$/ = "\0";
|
||||
|
Loading…
Reference in New Issue
Block a user