{"thread":{"id":"901","subject":"[PATCH] Convert commands to optparse","startedAt":"2005-06-11T01:52:11Z","lastAt":"2005-06-11T01:52:11Z","messageCount":1,"participants":["Jonas Fonseca"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"4847","messageId":"20050611015211.GB13272@diku.dk","threadId":"901","inReplyTo":null,"subject":"[PATCH] Convert commands to optparse","fromName":"Jonas Fonseca","fromEmail":"fonseca@diku.dk","sentAt":"2005-06-11T01:52:11Z","receivedAt":"2005-06-11T01:52:11Z","isPatch":true,"sender":{"key":"fonseca@diku.dk","avatar":"https://gravatar.com/avatar/f82f3ad698717c51873b020c750a92438c820a24056dc39fe4d07baa10a92264?d=mp&s=160"},"body":"Convert all remaining commands providing options to optparse.\n\nSigned-off-by: Jonas Fonseca <fonseca@diku.dk>\n---\n\nTested lightly ...\n\n cg-admin-ls       |   15 +++++++++------\n cg-admin-uncommit |   11 +++++++----\n cg-clone          |   16 ++++++++++------\n cg-commit         |   30 +++++++++++-------------------\n cg-merge          |   23 +++++++++++------------\n cg-pull           |   14 ++++++++------\n cg-update         |   13 ++++++++-----\n 7 files changed, 64 insertions(+), 58 deletions(-)\n\ndiff --git a/cg-admin-ls b/cg-admin-ls\n--- a/cg-admin-ls\n+++ b/cg-admin-ls\n@@ -34,11 +34,14 @@ USAGE=\"cg-admin-ls [-t TREE_ID] [PATH]\"\n . ${COGITO_LIB}cg-Xlib\n \n tree_id=\n-if [ \"$1\" = \"-t\" ]; then\n-\tshift\n-\ttree_id=$1\n-\tshift\n-fi\n+while optparse; do\n+\tif optparse -t=; then\n+\t\ttree_id=\"$OPTARG\"\n+\telse\n+\t\toptfail\n+\tfi\n+done\n+\n id=$(tree-id $tree_id) || exit 1\n \n-git-ls-tree \"$id\" \"$@\"\n+git-ls-tree \"$id\" \"${ARGS[@]}\"\ndiff --git a/cg-admin-uncommit b/cg-admin-uncommit\n--- a/cg-admin-uncommit\n+++ b/cg-admin-uncommit\n@@ -24,10 +24,13 @@ USAGE=\"cg-admin-uncommit [-t] [COMMIT_ID\n [ -s $_git/blocked ] && die \"uncommitting blocked: $(cat $_git/blocked)\"\n \n rollback_tree=\n-if [ \"$1\" = \"-t\" ]; then\n-\tshift\n-\trollback_tree=1\n-fi\n+while optparse; do\n+\tif optparse -t; then\n+\t\trollback_tree=1\n+\telse\n+\t\toptfail\n+\tfi\n+done\n \n \n base=$(commit-id) || exit 1\ndiff --git a/cg-clone b/cg-clone\n--- a/cg-clone\n+++ b/cg-clone\n@@ -23,16 +23,20 @@ _git_repo_unneeded=1\n . ${COGITO_LIB}cg-Xlib\n \n same_dir=\n-if [ \"$1\" = \"-s\" ]; then\n-\tshift\n-\tsame_dir=1\n-fi\n+while optparse; do\n+\tif optparse -s; then\n+\t\tsame_dir=1\n+\telse\n+\t\toptfail\n+\tfi\n+done\n+\n+location=${ARGS[0]}\n \n-location=$1\n [ \"$location\" ] || usage\n location=${location%/}\n \n-destdir=$2\n+destdir=${ARGS[1]}\n if [ \"$destdir\" ]; then\n \t[ ! \"$same_dir\" ] || die \"specifying both -s and DESTDIR makes no sense\"\n \tdir=$destdir\ndiff --git a/cg-commit b/cg-commit\n--- a/cg-commit\n+++ b/cg-commit\n@@ -83,34 +83,26 @@ forceeditor=\n ignorecache=\n commitalways=\n msgs=()\n-while [ \"$1\" ]; do\n-\tcase \"$1\" in\n-\t-C)\n+while optparse; do\n+\tif optparse -C; then\n \t\tignorecache=1\n-\t\tshift\n-\t\t;;\n-\t-e)\n+\telif optparse -e; then\n \t\tforceeditor=1\n-\t\tshift\n-\t\t;;\n-\t-E)\n+\telif optparse -E; then\n \t\tforceeditor=1\n \t\tcommitalways=1\n-\t\tshift\n-\t\t;;\n-\t-m*)\n-\t\tmsgs=(\"${msgs[@]}\" \"${1#-m}\")\n-\t\tshift\n-\t\t;;\n-\t*)\tbreak;;\n-\tesac\n+\telif optparse -m=; then\n+\t\tmsgs=(\"${msgs[@]}\" \"$OPTARG\")\n+\telse\n+\t\toptfail\n+\tfi\n done\n \n-if [ \"$1\" ]; then\n+if [ \"$ARGS\" ]; then\n \t[ \"$ignorecache\" ] && die \"-C and listing files to commit does not make sense\"\n \t[ -s $_git/merging ] && die \"cannot commit individual files when merging\"\n \n-\teval commitfiles=($(git-diff-cache -r -m HEAD -- \"$@\" | \\\n+\teval commitfiles=($(git-diff-cache -r -m HEAD -- \"${ARGS[@]}\" | \\\n \t\tsed 's/^\\([^\t]*\\)\\(.\t.*\\)\\(\t.*\\)*$/\"\\2\"/'))\n \tcustomfiles=1\n \ndiff --git a/cg-merge b/cg-merge\n--- a/cg-merge\n+++ b/cg-merge\n@@ -27,20 +27,19 @@ head=$(commit-id)\n \n \n careful=\n-if [ \"$1\" = \"-c\" ]; then\n-\tshift\n-\tcareful=1\n-fi\n-\n base=\n-if [ \"$1\" = \"-b\" ]; then\n-\tshift\n-\t[ \"$1\" ] || usage\n-\tbase=$(commit-id \"$1\") || exit 1; shift\n-fi\n+while optparse; do\n+\tif optparse -c; then\n+\t\tcareful=1\n+\telif optparse -b=; then\n+\t\tbase=$(commit-id \"$OPTARG\") || exit 1\n+\telse\n+\t\toptfail\n+\tfi\n+done\n \n-[ \"$1\" ] || usage\n-branchname=\"$1\"\n+[ \"$ARGS\" ] || usage\n+branchname=\"${ARGS[0]}\"\n branch=$(commit-id \"$branchname\") || exit 1\n \n [ \"$base\" ] || base=$(git-merge-base \"$head\" \"$branch\")\ndiff --git a/cg-pull b/cg-pull\n--- a/cg-pull\n+++ b/cg-pull\n@@ -17,13 +17,15 @@ USAGE=\"cg-pull [-f] [BRANCH_NAME]\"\n . ${COGITO_LIB}cg-Xlib\n \n force=\n-if [ \"$1\" = \"-f\" ]; then\n-\tforce=1\n-\tshift\n-fi\n-\n-name=$1\n+while optparse; do\n+\tif optparse -f; then\n+\t\tforce=1\n+\telse\n+\t\toptfail\n+\tfi\n+done\n \n+name=${ARGS[0]}\n \n [ \"$name\" ] || { [ -s $_git/refs/heads/origin ] && name=origin; }\n [ \"$name\" ] || die \"where to pull from?\"\ndiff --git a/cg-update b/cg-update\n--- a/cg-update\n+++ b/cg-update\n@@ -18,12 +18,15 @@ USAGE=\"cg-update [-f] [BRANCH_NAME]\"\n . ${COGITO_LIB}cg-Xlib\n \n force=\n-if [ \"$1\" = \"-f\" ]; then\n-\tforce=$1\n-\tshift\n-fi\n+while optparse; do\n+\tif optparse -f; then\n+\t\tforce=-f\n+\telse\n+\t\toptfail\n+\tfi\n+done\n \n-name=$1\n+name=${ARGS[0]}\n [ \"$name\" ] || { [ -s $_git/refs/heads/origin ] && name=origin; }\n [ \"$name\" ] || die \"where to update from?\"\n \n-- \nJonas Fonseca\n"}]}