Skip to content

Commit

Permalink
git-instaweb: Check that correct config file exists for (re)start
Browse files Browse the repository at this point in the history
Currently start/restart does not generate any configuration files for
spawning a new instance.  This means that

  $ git instaweb --http=<server> --start

might pick up stale 'httpd.conf' file for a different web server
(e.g. for default lighttpd when requesting apache2).

This commit changes that, and makes git-instaweb generate web server
config file and/or gitweb config file if don't exists.

This required naming config files after the name of web server
(alternate solution would be to somehow mark for which web server was
config file generated).

Note that web servers that embed configuration in server script file,
namely webrick and plackup, and which delete "$conf" in their *_conf
function, would have their config (server script) always regenerated.

Note: this commit introduces a bit of code repetition (but only a few
lines).

Reported-by: Gurjeet Singh <singh.gurjeet@gmail.com>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
  • Loading branch information
jnareb authored and Eric Wong committed Jun 27, 2011
1 parent c0175f9 commit 5ad6d38
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
8 changes: 4 additions & 4 deletions Documentation/git-instaweb.txt
Expand Up @@ -51,8 +51,8 @@ OPTIONS

start::
--start::
Start the httpd instance and exit. This does not generate
any of the configuration files for spawning a new instance.
Start the httpd instance and exit. Regenerate configuration files
as necessary for spawning a new instance.

stop::
--stop::
Expand All @@ -62,8 +62,8 @@ stop::

restart::
--restart::
Restart the httpd instance and exit. This does not generate
any of the configuration files for spawning a new instance.
Restart the httpd instance and exit. Regenerate configuration files
as necessary for spawning a new instance.

CONFIGURATION
-------------
Expand Down
7 changes: 7 additions & 0 deletions git-instaweb.sh
Expand Up @@ -99,6 +99,12 @@ start_httpd () {

# here $httpd should have a meaningful value
resolve_full_httpd
mkdir -p "$fqgitdir/gitweb/$httpd_only"
conf="$fqgitdir/gitweb/$httpd_only.conf"

# generate correct config file if it doesn't exist
test -f "$conf" || configure_httpd
test -f "$fqgitdir/gitweb/gitweb_config.perl" || gitweb_conf

# don't quote $full_httpd, there can be arguments to it (-f)
case "$httpd" in
Expand Down Expand Up @@ -628,6 +634,7 @@ gitweb_conf

resolve_full_httpd
mkdir -p "$fqgitdir/gitweb/$httpd_only"
conf="$fqgitdir/gitweb/$httpd_only.conf"

configure_httpd

Expand Down

0 comments on commit 5ad6d38

Please sign in to comment.