git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] gitweb: use single quotes for values replaced by the Makefile

From
Junio C Hamano <junkio@cox.net>
Date
Aug 2, 2006, 20:50 UTC
Message-ID
<7vmzamuaj6.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<E1G8N9c-0004GK-Gz@moooo.ath.cx>

I understand that (1) "@@FOO@@" is problematic, (2) being able to run gitweb/gitweb.perl while coming up with improvements is nice, but (3) not being able to say "/etc/foo/$ENV{SITE_NAME}" is quite a drawback on the deployment side.

So why don't we use something other than @@, perhaps "++FOO++"?
I'm inclined to take these two patches:
    gitweb: optionally read config from GITWEB_CONFIG (Jeff King)
    gitweb: require $ENV{'GITWEB_CONFIG'} (Matthias Lederhofer)
so on top of them something like this?

-- >8 -- [PATCH] gitweb: do not use @@FOO@@ for replaced tokens

This makes it easier to run gitweb/gitweb.perl without token substitution. Using @@ makes Perl emit "unintended interpolation" warnings.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 Makefile           |   18 +++++++++---------
 gitweb/gitweb.perl |   18 +++++++++---------
 2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/Makefile b/Makefile
index a2b4aca..3816ef7 100644
--- a/Makefile
+++ b/Makefile
@@ -584,15 +584,15 @@ git-status: git-commit
 gitweb/gitweb.cgi: gitweb/gitweb.perl
 	rm -f $@ $@+
 	sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \
-	    -e 's|@@GIT_VERSION@@|$(GIT_VERSION)|g' \
-	    -e 's|@@GIT_BINDIR@@|$(bindir)|g' \
-	    -e 's|@@GITWEB_CONFIG@@|$(GITWEB_CONFIG)|g' \
-	    -e 's|@@GITWEB_SITENAME@@|$(GITWEB_SITENAME)|g' \
-	    -e 's|@@GITWEB_PROJECTROOT@@|$(GITWEB_PROJECTROOT)|g' \
-	    -e 's|@@GITWEB_LIST@@|$(GITWEB_LIST)|g' \
-	    -e 's|@@GITWEB_HOMETEXT@@|$(GITWEB_HOMETEXT)|g' \
-	    -e 's|@@GITWEB_CSS@@|$(GITWEB_CSS)|g' \
-	    -e 's|@@GITWEB_LOGO@@|$(GITWEB_LOGO)|g' \
+	    -e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
+	    -e 's|++GIT_BINDIR++|$(bindir)|g' \
+	    -e 's|++GITWEB_CONFIG++|$(GITWEB_CONFIG)|g' \
+	    -e 's|++GITWEB_SITENAME++|$(GITWEB_SITENAME)|g' \
+	    -e 's|++GITWEB_PROJECTROOT++|$(GITWEB_PROJECTROOT)|g' \
+	    -e 's|++GITWEB_LIST++|$(GITWEB_LIST)|g' \
+	    -e 's|++GITWEB_HOMETEXT++|$(GITWEB_HOMETEXT)|g' \
+	    -e 's|++GITWEB_CSS++|$(GITWEB_CSS)|g' \
+	    -e 's|++GITWEB_LOGO++|$(GITWEB_LOGO)|g' \
 	    $< >$@+
 	chmod +x $@+
 	mv $@+ $@
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index c7f13e7..3cd2b89 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -18,18 +18,18 @@ use File::Find qw();
 binmode STDOUT, ':utf8';
 
 our $cgi = new CGI;
-our $version = "@@GIT_VERSION@@";
+our $version = "++GIT_VERSION++";
 our $my_url = $cgi->url();
 our $my_uri = $cgi->url(-absolute => 1);
 our $rss_link = "";
 
 # core git executable to use
 # this can just be "git" if your webserver has a sensible PATH
-our $GIT = "@@GIT_BINDIR@@/git";
+our $GIT = "++GIT_BINDIR++/git";
 
 # absolute fs-path which will be prepended to the project path
 #our $projectroot = "/pub/scm";
-our $projectroot = "@@GITWEB_PROJECTROOT@@";
+our $projectroot = "++GITWEB_PROJECTROOT++";
 
 # location for temporary files needed for diffs
 our $git_temp = "/tmp/gitweb";
@@ -39,18 +39,18 @@ our $home_link = $my_uri;
 
 # name of your site or organization to appear in page titles
 # replace this with something more descriptive for clearer bookmarks
-our $site_name = "@@GITWEB_SITENAME@@" || $ENV{'SERVER_NAME'} || "Untitled";
+our $site_name = "++GITWEB_SITENAME++" || $ENV{'SERVER_NAME'} || "Untitled";
 
 # html text to include at home page
-our $home_text = "@@GITWEB_HOMETEXT@@";
+our $home_text = "++GITWEB_HOMETEXT++";
 
 # URI of default stylesheet
-our $stylesheet = "@@GITWEB_CSS@@";
+our $stylesheet = "++GITWEB_CSS++";
 # URI of GIT logo
-our $logo = "@@GITWEB_LOGO@@";
+our $logo = "++GITWEB_LOGO++";
 
 # source of projects list
-our $projects_list = "@@GITWEB_LIST@@";
+our $projects_list = "++GITWEB_LIST++";
 
 # default blob_plain mimetype and default charset for text/plain blob
 our $default_blob_plain_mimetype = 'text/plain';
@@ -60,7 +60,7 @@ # file to use for guessing MIME types be
 # (relative to the current git repository)
 our $mimetypes_file = undef;
 
-our $GITWEB_CONFIG = "@@GITWEB_CONFIG@@";
+our $GITWEB_CONFIG = "++GITWEB_CONFIG++";
 require $GITWEB_CONFIG if -e $GITWEB_CONFIG;
 
 if (defined($ENV{'GITWEB_CONFIG'}) && -e $ENV{'GITWEB_CONFIG'}) {
-- 
1.4.2.rc2.g767b2
Previous: Matthias LederhoferNext: Matthias Lederhofer
Message 3 of 16 in “gitweb: optionally read config from GITWEB_CONFIG”
  1. gitweb: optionally read config from GITWEB_CONFIGJeff King, Aug 2, 2006
  2. gitweb: use single quotes for values replaced by the MakefileMatthias Lederhofer, Aug 2, 2006
  3. Junio C HamanoAug 2, 2006
  4. Matthias LederhoferAug 2, 2006
  5. Jeff KingAug 2, 2006
  6. Jakub NarebskiAug 2, 2006
  7. Matthias LederhoferAug 2, 2006
  8. Jakub NarebskiAug 2, 2006
  9. Jeff KingAug 2, 2006
  10. Junio C HamanoAug 2, 2006
  11. gitweb: require $ENV{'GITWEB_CONFIG'}Matthias Lederhofer, Aug 2, 2006
  12. Jeff KingAug 2, 2006
  13. Junio C HamanoAug 2, 2006
  14. Jeff KingAug 2, 2006
  15. Luben TuikovAug 2, 2006
  16. Jeff KingAug 2, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.