From: Imran M Yousuf <imran@xxxxxxxxxxxxxxxxxxxxxx> - Simplified the invocation of action. - Changed switch case based action invoke rather more direct command invocation. Previously first switch case was used to go through $@ and determine the action, i.e. add, init, update etc, and second switch case just to invoke the action. It is modified to determine the action name in the first case structure instead and later just invoke it. Signed-off-by: Imran M Yousuf <imyousuf@xxxxxxxxxxxxxxxxxxxxxx> --- git-submodule.sh | 32 ++++++++++++-------------------- 1 files changed, 12 insertions(+), 20 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index ad9fe62..8a29382 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -16,6 +16,7 @@ update= status= quiet= cached= +command= # # print stuff on stdout unless -q was specified @@ -293,20 +294,23 @@ modules_list() done } +# command specifies the whole function name since +# one of theirs prefix is module not modules while test $# != 0 do case "$1" in add) add=1 + command="module_$1" ;; init) - init=1 + command="modules_$1" ;; update) - update=1 + command="modules_$1" ;; status) - status=1 + command="modules_list" ;; -q|--quiet) quiet=1 @@ -320,7 +324,7 @@ do branch="$2"; shift ;; --cached) - cached=1 + command="modules_list" ;; --) break @@ -345,20 +349,8 @@ case "$add,$branch" in ;; esac -case "$add,$init,$update,$status,$cached" in -1,,,,) - module_add "$@" - ;; -,1,,,) - modules_init "$@" - ;; -,,1,,) - modules_update "$@" - ;; -,,,*,*) - modules_list "$@" - ;; -*) +if [ -z $command ]; then usage - ;; -esac +else + "$command" "$@" +fi -- 1.5.3.7 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html