]> git.ipfire.org Git - thirdparty/git.git/blobdiff - git-submodule.sh
Merge branch 'bc/sha-256-part-2'
[thirdparty/git.git] / git-submodule.sh
index 08e0439df0a2cccf62274c9636e8eeb609827d2f..43eb6051d23f90cccc94c1fb4c58ad14d4ece3e6 100755 (executable)
@@ -719,7 +719,7 @@ cmd_update()
 # $@ = requested path
 #
 cmd_set_branch() {
-       unset_branch=false
+       default=
        branch=
 
        while test $# -ne 0
@@ -729,7 +729,7 @@ cmd_set_branch() {
                        # we don't do anything with this but we need to accept it
                        ;;
                -d|--default)
-                       unset_branch=true
+                       default=1
                        ;;
                -b|--branch)
                        case "$2" in '') usage ;; esac
@@ -750,33 +750,7 @@ cmd_set_branch() {
                shift
        done
 
-       if test $# -ne 1
-       then
-               usage
-       fi
-
-       # we can't use `git submodule--helper name` here because internally, it
-       # hashes the path so a trailing slash could lead to an unintentional no match
-       name="$(git submodule--helper list "$1" | cut -f2)"
-       if test -z "$name"
-       then
-               exit 1
-       fi
-
-       test -n "$branch"; has_branch=$?
-       test "$unset_branch" = true; has_unset_branch=$?
-
-       if test $((!$has_branch != !$has_unset_branch)) -eq 0
-       then
-               usage
-       fi
-
-       if test $has_branch -eq 0
-       then
-               git submodule--helper config submodule."$name".branch "$branch"
-       else
-               git submodule--helper config --unset submodule."$name".branch
-       fi
+       git ${wt_prefix:+-C "$wt_prefix"} ${prefix:+--super-prefix "$prefix"} submodule--helper set-branch ${GIT_QUIET:+--quiet} ${branch:+--branch "$branch"} ${default:+--default} -- "$@"
 }
 
 #
@@ -805,27 +779,7 @@ cmd_set_url() {
                shift
        done
 
-       if test $# -ne 2
-       then
-               usage
-       fi
-
-       # we can't use `git submodule--helper name` here because internally, it
-       # hashes the path so a trailing slash could lead to an unintentional no match
-       name="$(git submodule--helper list "$1" | cut -f2)"
-       if test -z "$name"
-       then
-               exit 1
-       fi
-
-       url="$2"
-       if test -z "$url"
-       then
-               exit 1
-       fi
-
-       git submodule--helper config submodule."$name".url "$url"
-       git submodule--helper sync ${GIT_QUIET:+--quiet} "$name"
+       git ${wt_prefix:+-C "$wt_prefix"} ${prefix:+--super-prefix "$prefix"} submodule--helper set-url ${GIT_QUIET:+--quiet} -- "$@"
 }
 
 #