summaryrefslogtreecommitdiffstats
path: root/switch_all_submodules_to_head_and_clean
diff options
context:
space:
mode:
Diffstat (limited to 'switch_all_submodules_to_head_and_clean')
-rwxr-xr-xswitch_all_submodules_to_head_and_clean9
1 files changed, 7 insertions, 2 deletions
diff --git a/switch_all_submodules_to_head_and_clean b/switch_all_submodules_to_head_and_clean
index 6313812..986dc0c 100755
--- a/switch_all_submodules_to_head_and_clean
+++ b/switch_all_submodules_to_head_and_clean
@@ -13,6 +13,11 @@ if [[ -z "$branch" ]] ||
exit 1
fi
+# check git abilities
+if [[ -n "`git status --help 2>/dev/null|grep -- '--ignore-submodules'`" ]]; then
+ GIT_IGNORE_SUBMODULES="--ignore-submodules"
+fi
+
echo "Preparing $PWD for development use"
if [[ $1 == "" ]]; then
gituser=`sed -n "/^\[remote \"origin\"\]/,/url/s/\turl = http:\/\/\([^@]*\)@.*/\1/p" <\`git rev-parse --git-dir\`/config | grep -v "\(anonymous\|system\)"`
@@ -35,12 +40,12 @@ if [[ ! -e "$THISSCRIPT" ]]; then
exit 1
fi
-if [[ ! -z "`git status --porcelain`" ]]; then
+if [[ ! -z "`git status --porcelain $GIT_IGNORE_SUBMODULES`" ]]; then
git reset --hard HEAD
git clean -dxff
fi
git pull
-if [[ ! -z "`git status --porcelain`" ]]; then
+if [[ ! -z "`git status --porcelain $GIT_IGNORE_SUBMODULES`" ]]; then
git reset --hard HEAD
git clean -dxff
fi