summaryrefslogtreecommitdiff
path: root/gitweb/gitweb.perl
diff options
context:
space:
mode:
authorLibravatar Petr Baudis <pasky@ucw.cz>2006-09-21 02:05:50 +0200
committerLibravatar Junio C Hamano <junkio@cox.net>2006-09-21 01:16:45 -0700
commit16fdb4882e3f7b5b60907a2729df494aaa1410a3 (patch)
tree847146c4c87e9513c442a00d51324d94bc2f9042 /gitweb/gitweb.perl
parentgitweb: fix display of trees via PATH_INFO. (diff)
downloadtgif-16fdb4882e3f7b5b60907a2729df494aaa1410a3.tar.xz
Fix showing of path in tree view
This patch fixes two things - links to all path elements except the last one were broken since gitweb does not like the trailing slash in them, and the root tree was not reachable from the subdirectory view. To compensate for the one more slash in the front, the trailing slash is not there anymore. ;-) I don't care if it stays there though. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'gitweb/gitweb.perl')
-rwxr-xr-xgitweb/gitweb.perl12
1 files changed, 7 insertions, 5 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index ea5771737e..fb8d37eb7b 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1514,12 +1514,15 @@ sub git_print_page_path {
my $fullname = '';
print "<div class=\"page_path\">";
+ print $cgi->a({-href => href(action=>"tree", hash_base=>$hb),
+ -title => '/'}, '/');
+ print " ";
foreach my $dir (@dirname) {
- $fullname .= $dir . '/';
+ $fullname .= ($fullname ? '/' : '') . $dir;
print $cgi->a({-href => href(action=>"tree", file_name=>$fullname,
hash_base=>$hb),
- -title => $fullname}, esc_html($dir));
- print "/";
+ -title => $fullname}, esc_html($dir . '/'));
+ print " ";
}
if (defined $type && $type eq 'blob') {
print $cgi->a({-href => href(action=>"blob_plain", file_name=>$file_name,
@@ -1528,8 +1531,7 @@ sub git_print_page_path {
} 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 "/";
+ -title => $name}, esc_html($basename . '/'));
} else {
print esc_html($basename);
}