git-instaweb: Add option to reuse previous config file

Add an option to git-instaweb which allows the usage of the old
gitweb_config.perl situated in '.git/gitweb' dir. When the option
is in use, gitweb_config.perl generated by git-instaweb won't be
overwritten.

Usage:
	git instaweb --reuse-config

Example:
	When I use git-instaweb, it is tiring to add customised
configuration (like highlight featues enabling) to the gitweb_config.perl
file everytime I initiate the server. With this,it's enough to use
this option.

Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pavan Kumar Sunkara
2010-06-02 03:29:49 +05:30
committed by Junio C Hamano
parent 734e7f5229
commit 8b941259e6
2 changed files with 11 additions and 2 deletions

View File

@@ -9,7 +9,7 @@ SYNOPSIS
--------
[verse]
'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]
[--browser=<browser>]
[--browser=<browser>] [--reuse-config]
'git instaweb' [--start] [--stop] [--restart]
DESCRIPTION
@@ -49,6 +49,9 @@ OPTIONS
linkgit:git-web--browse[1] for more information about this. If
the script fails, the URL will be printed to stdout.
--reuse-config::
The previous gitweb_config.perl will not be overwritten.
--start::
Start the httpd instance and exit. This does not generate
any of the configuration files for spawning a new instance.

View File

@@ -13,6 +13,7 @@ p,port= the port to bind to
d,httpd= the command to launch
b,browser= the browser to launch
m,module-path= the module path (only needed for apache2)
reuse-config reuse previous gitweb_config.perl from GIT_DIR
Action
stop stop the web server
start start the web server
@@ -27,6 +28,7 @@ httpd="$(git config --get instaweb.httpd)"
root="$(git config --get instaweb.gitwebdir)"
port=$(git config --get instaweb.port)
module_path="$(git config --get instaweb.modulepath)"
no_reuse=true
conf="$GIT_DIR/gitweb/httpd.conf"
@@ -151,6 +153,10 @@ do
shift
module_path="$1"
;;
--reuse-config)
shift
no_reuse=false
;;
--)
;;
*)
@@ -385,7 +391,7 @@ our \$projects_list = \$projectroot;
EOF
}
gitweb_conf
test "$no_reuse" = true || test ! -e "$GITWEB_CONFIG" && gitweb_conf
resolve_full_httpd
mkdir -p "$fqgitdir/gitweb/$httpd_only"