From: Jonathan Nieder <jrnieder@gmail.com>
To: Jakub Narebski <jnareb@gmail.com>
Cc: Daniel Reichelt <debian@nachtgeist.net>,
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>,
git@vger.kernel.org
Subject: Re: [PATCH/RFC] gitweb: Preserve $base_url if it was set
Date: Sun, 28 Nov 2010 18:19:08 -0600 [thread overview]
Message-ID: <20101129001908.GA26358@burratino> (raw)
In-Reply-To: <201011282305.39975.jnareb@gmail.com>
Jakub Narebski wrote:
> If $base_url was defined, then do not redefine it in evaluate_uri().
How about $my_uri and $my_url?
What happens if $ENV{PATH_INFO} or $cgi->url(...) changes between
requests? This is partly my ignorance: perhaps FastCGI et al
guarantee that such configuration changes can't happen within a single
process?
Maintaining backward compatibility while avoiding this last concern
seems hard. Since gitweb_config can contain something like
$my_uri =~ s/foo/bar/;
one would want to populate $my_uri in advance. Meanwhile, if the
default for $my_uri could change between requests, we would want to be
able to detect the case when $my_uri is not set. But what if
gitweb_config contains
$my_uri = "something";
where "something" happens to match the default value for $my_uri in
the first request?
It is tempting to change the documentation now and worry about code
changes later. Something like this?
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
diff --git a/gitweb/README b/gitweb/README
index 6646fda..a9421e0 100644
--- a/gitweb/README
+++ b/gitweb/README
@@ -177,13 +177,15 @@ not include variables usually directly set during build):
* $my_url, $my_uri
Full URL and absolute URL of gitweb script;
in earlier versions of gitweb you might have need to set those
- variables, now there should be no need to do it.
+ variables, now there should be no need to do it. See
+ $per_request_config if you need to set them still.
* $base_url
Base URL for relative URLs in pages generated by gitweb,
(e.g. $logo, $favicon, @stylesheets if they are relative URLs),
needed and used only for URLs with nonempty PATH_INFO via
<base href="$base_url">. Usually gitweb sets its value correctly,
and there is no need to set this variable, e.g. to $my_uri or "/".
+ See $per_request_config if you need to set it anyway.
* $home_link
Target of the home link on top of all pages (the first part of view
"breadcrumbs"). By default set to absolute URI of a page ($my_uri).
@@ -252,7 +254,10 @@ not include variables usually directly set during build):
sub { $ENV{GL_USER} = $cgi->remote_user || "gitweb"; }
Otherwise it is treated as boolean value: if true gitweb would process
config file once per request, if false it would process config file only
- once. The default is true.
+ once. Note: $my_url, $my_uri, and $base_url are overwritten with
+ their default values before every request, so if you want to change
+ them, be sure to set this variable to true or a code reference effecting
+ the desired changes. The default is true.
Projects list file format
~~~~~~~~~~~~~~~~~~~~~~~~~
next prev parent reply other threads:[~2010-11-29 1:23 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20101128081048.13668.67286.reportbug@sb74.startrek>
2010-11-28 16:27 ` gitweb: false base href sent when integrated via reverse proxy and path_info is active Jonathan Nieder
2010-11-28 17:25 ` Giuseppe Bilotta
2010-11-28 17:47 ` Jakub Narebski
2010-11-28 18:12 ` Jonathan Nieder
2010-11-30 18:22 ` Jakub Narebski
2010-12-01 3:25 ` Junio C Hamano
2010-11-28 20:30 ` Daniel Reichelt
2010-11-28 21:07 ` Jakub Narebski
2010-11-28 21:25 ` Daniel Reichelt
2010-11-28 21:10 ` Jonathan Nieder
2010-11-28 21:28 ` Daniel Reichelt
2010-11-28 22:05 ` Jakub Narebski
2010-11-29 0:19 ` Jonathan Nieder [this message]
2010-11-29 0:51 ` [PATCH/RFC] gitweb/README: About $base_url etc. and $per_request_config Jakub Narebski
2010-11-29 17:57 ` [PATCH/RFC] gitweb: Preserve $base_url if it was set Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101129001908.GA26358@burratino \
--to=jrnieder@gmail.com \
--cc=debian@nachtgeist.net \
--cc=git@vger.kernel.org \
--cc=giuseppe.bilotta@gmail.com \
--cc=jnareb@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.