]> Lady’s Gitweb - Gitweb/commitdiff
gitweb: use_pathinfo filenames start with /
authorGiuseppe Bilotta <redacted>
Tue, 21 Oct 2008 19:34:52 +0000 (21:34 +0200)
committerLady <redacted>
Mon, 6 Apr 2026 04:50:38 +0000 (00:50 -0400)
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 <redacted>
Acked-by: Jakub Narebski <redacted>
Signed-off-by: Junio C Hamano <redacted>
gitweb.perl

index 22de2e127dd6457350d0cfba798793e5be9ee3840bd92721378cca0a1fe971f6..625425a6192a4d3165d5d53351cdf93394cb35e41ef59fb17c14824ebd1151ca 100755 (executable)
@@ -735,7 +735,7 @@ sub href (%) {
                # try to put as many parameters as possible in PATH_INFO:
                #   - project name
                #   - action
-               #   - hash or hash_base:filename
+               #   - hash or hash_base:/filename
 
                # When the script is the root DirectoryIndex for the domain,
                # $href here would be something like http://gitweb.example.com/
@@ -754,11 +754,11 @@ sub href (%) {
                        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'}) {
                        $href .= "/".esc_url($params{'hash_base'});
                        if (defined $params{'file_name'}) {
-                               $href .= ":".esc_url($params{'file_name'});
+                               $href .= ":/".esc_url($params{'file_name'});
                                delete $params{'file_name'};
                        }
                        delete $params{'hash'};
This page took 0.330422 seconds and 4 git commands to generate.