killbranches=false
# usage:
# ./all clean [-m] [-f | -fu] [-r] [-D]
+ # ./all clean --reclone
while :; do
- if [ x"$1" = x"-f" ]; then
+ if [ x"$1" = x"--reclone" ]; then
+ force=true
+ gotoupstream=true
+ gotomaster=true
+ rmuntracked=true
+ killbranches=true
+ elif [ x"$1" = x"-f" ]; then
force=true
elif [ x"$1" = x"-u" ]; then
gotoupstream=true
fi
if $gotomaster; then
verbose git checkout -f "`repobranch "$d"`"
- git reset --hard origin/"`repobranch "$d"`"
+ verbose git reset --hard origin/"`repobranch "$d"`"
else
r=`git symbolic-ref HEAD`
r=${r#refs/heads/}
fi
if $killbranches; then
git for-each-ref --format='%(refname)' refs/heads/ | while IFS= read -r B; do
- git branch -D "${B#refs/heads/}" 2>/dev/null
+ if [ x"$B" != x"`git symbolic-ref HEAD`" ]; then
+ verbose git branch -D "${B#refs/heads/}"
+ fi
done
fi
done