X-Git-Url: https://git.ladys.computer/Gitweb/blobdiff_plain/663716643f44824af2a0a04eff9776603a617d2ae0ec802d95a93f1693404441..3d2d863f75be984b8d788025d50f5d36fe89bc63c3799291af41f625f2a3b1ac:/gitweb.perl diff --git a/gitweb.perl b/gitweb.perl index 8e98e3b..daab942 100755 --- a/gitweb.perl +++ b/gitweb.perl @@ -1405,19 +1405,32 @@ sub git_print_page_path { if (!defined $name) { print "
/
\n"; - } elsif (defined $type && $type eq 'blob') { + } else { + my @dirname = split '/', $name; + my $basename = pop @dirname; + my $fullname = ''; + print "
"; - if (defined $hb) { + foreach my $dir (@dirname) { + $fullname .= $dir . '/'; + print $cgi->a({-href => href(action=>"tree", file_name=>$fullname, + hash_base=>$hb), + -title => $fullname}, esc_html($dir)); + print "/"; + } + if (defined $type && $type eq 'blob') { print $cgi->a({-href => href(action=>"blob_plain", file_name=>$file_name, - hash_base=>$hb)}, - esc_html($name)); + hash_base=>$hb), + -title => $name}, esc_html($basename)); + } elsif (defined $type && $type eq 'tree') { + print $cgi->a({-href => href(action=>"tree", file_name=>$file_name, + hash_base=>$hb), + -title => $name}, esc_html($basename)); + print "/"; } else { - print $cgi->a({-href => href(action=>"blob_plain", file_name=>$file_name)}, - esc_html($name)); + print esc_html($basename); } print "
\n"; - } else { - print "
" . esc_html($name) . "
\n"; } } @@ -1592,7 +1605,7 @@ sub git_difftree_body { $cgi->a({-href => href(action=>"blob", hash=>$diff{'to_id'}, hash_base=>$hash, file_name=>$diff{'file'})}, "blob"); - if ($action == "commitdiff") { + if ($action eq 'commitdiff') { # link to patch $patchno++; print " | " . @@ -1613,7 +1626,7 @@ sub git_difftree_body { hash_base=>$parent, file_name=>$diff{'file'})}, "blob") . " | "; - if ($action == "commitdiff") { + if ($action eq 'commitdiff') { # link to patch $patchno++; print " | " . @@ -1659,7 +1672,7 @@ sub git_difftree_body { hash_base=>$hash, file_name=>$diff{'file'})}, "blob"); if ($diff{'to_id'} ne $diff{'from_id'}) { # modified - if ($action == "commitdiff") { + if ($action eq 'commitdiff') { # link to patch $patchno++; print " | " . @@ -1701,7 +1714,7 @@ sub git_difftree_body { hash=>$diff{'to_id'}, file_name=>$diff{'to_file'})}, "blob"); if ($diff{'to_id'} ne $diff{'from_id'}) { - if ($action == "commitdiff") { + if ($action eq 'commitdiff') { # link to patch $patchno++; print " | " .