[PATCH] Simplified the invocation of command action in submodule
From: Imran M Yousuf <imran@smartitengineering.com>
- 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@smartitengineering.com>
---
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