diff --color-moved-ws: handle blank lines
[gitweb.git] / git-submodule.sh
index c09eb3e03d25510b2768d8f9c144cab2597fc000..5e608f8bad305fea40e9063b854bf1be24ebd448 100755 (executable)
@@ -72,7 +72,7 @@ get_submodule_config () {
        value=$(git config submodule."$name"."$option")
        if test -z "$value"
        then
-               value=$(git config -f .gitmodules submodule."$name"."$option")
+               value=$(git submodule--helper config submodule."$name"."$option")
        fi
        printf '%s' "${value:-$default}"
 }
@@ -164,6 +164,11 @@ cmd_add()
                shift
        done
 
+       if ! git submodule--helper config --check-writeable >/dev/null 2>&1
+       then
+                die "$(eval_gettext "please make sure that the .gitmodules file is in the working tree")"
+       fi
+
        if test -n "$reference_path"
        then
                is_absolute_path "$reference_path" ||
@@ -288,11 +293,11 @@ or you are unsure what this means choose another name with the '--name' option."
        git add --no-warn-embedded-repo $force "$sm_path" ||
        die "$(eval_gettext "Failed to add submodule '\$sm_path'")"
 
-       git config -f .gitmodules submodule."$sm_name".path "$sm_path" &&
-       git config -f .gitmodules submodule."$sm_name".url "$repo" &&
+       git submodule--helper config submodule."$sm_name".path "$sm_path" &&
+       git submodule--helper config submodule."$sm_name".url "$repo" &&
        if test -n "$branch"
        then
-               git config -f .gitmodules submodule."$sm_name".branch "$branch"
+               git submodule--helper config submodule."$sm_name".branch "$branch"
        fi &&
        git add --force .gitmodules ||
        die "$(eval_gettext "Failed to register submodule '\$sm_path'")"