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_conf() won't be used and thus the gitweb_config.perl
won't be overwritten.
Usage:
git instaweb --reuse-config
Example:
When I use git-instaweb, it is hard to add the line (Use of
highlighting support) $feature{'highlight'}{'default'] = [1]; to the
gitweb_config.perl file everytime I initiate the server. With this,
it's enough to use this option.
Also update Documentation of git-instaweb
Signed-off-by: Pavan Kumar Sunkara <redacted>
---
Documentation/git-instaweb.txt | 5 ++++-
git-instaweb.sh | 8 +++++++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-instaweb.txt b/Documentation/git-instaweb.txt
index 2c3c4d2..0e7e20b 100644
--- a/Documentation/git-instaweb.txt
+++ b/Documentation/git-instaweb.txt
@@ -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.
diff --git a/git-instaweb.sh b/git-instaweb.sh
index 1af4d5a..7b8b8d1 100755
--- a/git-instaweb.sh
+++ b/git-instaweb.sh
@@ -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 To use the previous gitweb_config.perl file from GIT_DIR. It will not be overwritten.
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"
@@ -171,6 +173,10 @@ do
shift
module_path="$1"
;;
+ --reuse-config)
+ shift
+ no_reuse=false
+ ;;
--)
;;
*)
@@ -551,7 +557,7 @@ our \$projects_list = \$projectroot;
EOF
}
-gitweb_conf
+test "$no_reuse" = true && gitweb_conf
resolve_full_httpd
mkdir -p "$fqgitdir/gitweb/$httpd_only"
--
1.7.1.390.gb0a41.dirty
On Tue, 1 June 2010, Pavan Kumar Sunkara wrote:
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_conf() won't be used and thus the gitweb_config.perl
won't be overwritten.
I think that the correct solution would be to avoid overwriting
(customized) git-instaweb's gitweb_config.perl, but to generate it if
it does not exist.
In addition to code change (see below), this would mean that the last
sentence of the above paragraph of the commit message would read:
When the option is in use, gitweb_config.perl generated by
git-instaweb won't be overwritten.
Or something like that.
Usage:
git instaweb --reuse-config
Example:
When I use git-instaweb, it is hard to add the line (Use of
highlighting support) $feature{'highlight'}{'default'] = [1]; to the
gitweb_config.perl file everytime I initiate the server. With this,
it's enough to use this option.
Hmmm, perhaps gitweb_config.perl file used by git-instaweb should
enable all features... but some features (like mentioned above
'highlight' feature) depends on external tools to be installed (like
'highlight' being in $PATH for 'highlight' feature).
So this wouldn't solve your problem, I don't think.
Also update Documentation of git-instaweb
Actually this sentene is not strictly necessary: when adding new
option you should update manpage respectively. It is not something
that is worth mentioning, IMVHO.
Signed-off-by: Pavan Kumar Sunkara <redacted>
---
quoted hunk
@@ -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.
+
This can imply that if file does not exist, it would be generated.
quoted hunk
diff --git a/git-instaweb.sh b/git-instaweb.sh
index 1af4d5a..7b8b8d1 100755
--- a/git-instaweb.sh
+++ b/git-instaweb.sh
@@ -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 To use the previous gitweb_config.perl file from GIT_DIR. It will not be overwritten.
First, misaligned (using TAB instead of SP, like the rest of
entries). Second, too long.
m,module-path= the module path (only needed for apache2)
+reuse-config reuse previous gitweb_config.perl from GIT_DIR
quoted hunk
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"
@@ -171,6 +173,10 @@ do
shift
module_path="$1"
;;
+ --reuse-config)
+ shift
+ no_reuse=false
+ ;;
--)
;;
*)
@@ -551,7 +557,7 @@ our \$projects_list = \$projectroot;
EOF
}
-gitweb_conf
+test "$no_reuse" = true && gitweb_conf
You would need to test somewhere if gitweb_config.perl file exists,
and if it does not exist generate it anyway, independent on
`--reuse-config` variable.
--
Jakub Narebski
Poland