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

[PATCH 07/10] Migrate git-instaweb.sh to use git-rev-parse --parseopt

From
Pierre Habouzit <madcoder@debian.org>
Date
Nov 4, 2007, 10:30 UTC
Message-ID
<1194172262-1563-8-git-send-email-madcoder@debian.org>
In-Reply-To
<1194172262-1563-7-git-send-email-madcoder@debian.org>
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---
 git-instaweb.sh |   73 ++++++++++++++++++++++---------------------------------
 1 files changed, 29 insertions(+), 44 deletions(-)
diff --git a/git-instaweb.sh b/git-instaweb.sh
index 95c3e5a..d912bf5 100755
--- a/git-instaweb.sh
+++ b/git-instaweb.sh
@@ -2,9 +2,20 @@
 #
 # Copyright (c) 2006 Eric Wong
 #
-USAGE='[--start] [--stop] [--restart]
-  [--local] [--httpd=<httpd>] [--port=<port>] [--browser=<browser>]
-  [--module-path=<path> (for Apache2 only)]'
+
+OPTIONS_SPEC="\
+git-instaweb [options] (--start | --stop | --restart)
+--
+l,local        only bind on 127.0.0.1
+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)
+ Action
+stop           stop the web server
+start          start the web server
+restart        restart the web server
+"
 
 . git-sh-setup
 
@@ -78,52 +89,26 @@ do
 		start_httpd
 		exit 0
 		;;
-	--local|-l)
+	-l|--local)
 		local=true
 		;;
-	-d|--httpd|--httpd=*)
-		case "$#,$1" in
-		*,*=*)
-			httpd=`expr "$1" : '-[^=]*=\(.*\)'` ;;
-		1,*)
-			usage ;;
-		*)
-			httpd="$2"
-			shift ;;
-		esac
+	-d|--httpd)
+		shift
+		httpd="$1"
+		;;
+	-b|--browser)
+		shift
+		browser="$1"
 		;;
-	-b|--browser|--browser=*)
-		case "$#,$1" in
-		*,*=*)
-			browser=`expr "$1" : '-[^=]*=\(.*\)'` ;;
-		1,*)
-			usage ;;
-		*)
-			browser="$2"
-			shift ;;
-		esac
+	-p|--port)
+		shift
+		port="$1"
 		;;
-	-p|--port|--port=*)
-		case "$#,$1" in
-		*,*=*)
-			port=`expr "$1" : '-[^=]*=\(.*\)'` ;;
-		1,*)
-			usage ;;
-		*)
-			port="$2"
-			shift ;;
-		esac
+	-m|--module-path)
+		shift
+		module_path="$1"
 		;;
-	-m|--module-path=*|--module-path)
-		case "$#,$1" in
-		*,*=*)
-			module_path=`expr "$1" : '-[^=]*=\(.*\)'` ;;
-		1,*)
-			usage ;;
-		*)
-			module_path="$2"
-			shift ;;
-		esac
+	--)
 		;;
 	*)
 		usage
-- 
1.5.3.5.1509.g66d41
Previous: Pierre HabouzitNext: Pierre Habouzit
Message 8 of 20 in “ph/parseopt-sh reloaded”
  1. Pierre HabouzitNov 4, 2007
  2. 01/10 Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.Pierre Habouzit, Nov 4, 2007
  3. 02/10 Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  4. 03/10 Migrate git-clean.sh to use git-rev-parse --parseopt.Pierre Habouzit, Nov 4, 2007
  5. 04/10 Migrate git-clone to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  6. 05/10 Migrate git-am.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  7. 06/10 Migrate git-merge.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  8. 07/10 Migrate git-instaweb.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  9. 08/10 Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdashPierre Habouzit, Nov 4, 2007
  10. 09/10 Migrate git-quiltimport.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  11. 10/10 Migrate git-repack.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  12. Pierre HabouzitNov 4, 2007
  13. Nicolas PitreNov 6, 2007
  14. Junio C HamanoNov 6, 2007
  15. Nicolas PitreNov 6, 2007
  16. Junio C HamanoNov 6, 2007
  17. Ralf WildenhuesNov 4, 2007
  18. Ralf WildenhuesNov 4, 2007
  19. Junio C HamanoNov 4, 2007
  20. Pierre HabouzitNov 4, 2007

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.