git-instaweb: Move all actions at the end of script
authorJakub Narebski <jnareb@gmail.com>
Thu, 23 Jun 2011 20:59:26 +0000 (22:59 +0200)
committerEric Wong <normalperson@yhbt.net>
Mon, 27 Jun 2011 09:11:41 +0000 (09:11 +0000)
As a nice side-effect now the order of parameters does not matter:

  $ git instaweb --httpd=apache2 --start

is now (after this patch) the same as

  $ git instaweb --start --httpd=apache2

Before this commit --start, --stop, --restart (and their subcommand
versions start, stop, restart) exited immediately.

This is preparatory work for making start/restart check that correct
configuration is set up; this change was required to have access in
start_httpd to requested web browser etc.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Acked-by: Eric Wong <normalperson@yhbt.net>
git-instaweb.sh

index 2be22a0dfe943918d91a4a557fde0f27790a815f..9a2f20f6adafb2e31d306155bd75c960de9fe512 100755 (executable)
@@ -27,6 +27,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)"
+action="browse"
 
 conf="$GIT_DIR/gitweb/httpd.conf"
 
@@ -148,17 +149,13 @@ while test $# != 0
 do
        case "$1" in
        --stop|stop)
-               stop_httpd
-               exit 0
+               action="stop"
                ;;
        --start|start)
-               start_httpd
-               exit 0
+               action="start"
                ;;
        --restart|restart)
-               stop_httpd
-               start_httpd
-               exit 0
+               action="restart"
                ;;
        -l|--local)
                local=true
@@ -611,6 +608,22 @@ configure_httpd() {
        esac
 }
 
+case "$action" in
+stop)
+       stop_httpd
+       exit 0
+       ;;
+start)
+       start_httpd
+       exit 0
+       ;;
+restart)
+       stop_httpd
+       start_httpd
+       exit 0
+       ;;
+esac
+
 gitweb_conf
 
 resolve_full_httpd