gitweb: use_pathinfo filenames start with /
Generate PATH_INFO URLs in the form project/action/hash_base:/filename rather than project/action/hash_base:filename (the latter form is still accepted in input). This minimal change allows relative navigation to work properly when viewing HTML files in raw ('blob_plain') mode. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Acked-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
b02bd7a632
commit
3550ea71f5
@ -734,7 +734,7 @@ sub href (%) {
|
|||||||
# try to put as many parameters as possible in PATH_INFO:
|
# try to put as many parameters as possible in PATH_INFO:
|
||||||
# - project name
|
# - project name
|
||||||
# - action
|
# - action
|
||||||
# - hash or hash_base:filename
|
# - hash or hash_base:/filename
|
||||||
|
|
||||||
# When the script is the root DirectoryIndex for the domain,
|
# When the script is the root DirectoryIndex for the domain,
|
||||||
# $href here would be something like http://gitweb.example.com/
|
# $href here would be something like http://gitweb.example.com/
|
||||||
@ -753,11 +753,11 @@ sub href (%) {
|
|||||||
delete $params{'action'};
|
delete $params{'action'};
|
||||||
}
|
}
|
||||||
|
|
||||||
# Finally, we put either hash_base:file_name or hash
|
# Finally, we put either hash_base:/file_name or hash
|
||||||
if (defined $params{'hash_base'}) {
|
if (defined $params{'hash_base'}) {
|
||||||
$href .= "/".esc_url($params{'hash_base'});
|
$href .= "/".esc_url($params{'hash_base'});
|
||||||
if (defined $params{'file_name'}) {
|
if (defined $params{'file_name'}) {
|
||||||
$href .= ":".esc_url($params{'file_name'});
|
$href .= ":/".esc_url($params{'file_name'});
|
||||||
delete $params{'file_name'};
|
delete $params{'file_name'};
|
||||||
}
|
}
|
||||||
delete $params{'hash'};
|
delete $params{'hash'};
|
||||||
|
Reference in New Issue
Block a user