X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=8b2caa053f7382a23ca821f1192265dc69f70529;hp=15a6a150d3e22c406edc8baa1d5ef6f695620490;hb=18313a24adbb50a33ea6f67aae9822c9cd05e8d9;hpb=f943e217277aeabf50653915f977ef168797021c diff --git a/all b/all index 15a6a150..8b2caa05 100755 --- a/all +++ b/all @@ -250,19 +250,25 @@ case "$cmd" in exists=false for d in $repos; do enter "$d0/$d" verbose - if [ -z "$branch" ]; then - b=`repobranch "$d"` - else - b=$branch - fi - if git rev-parse "refs/heads/$b" >/dev/null 2>&1; then + b=$branch + if [ -n "$b" ] && git rev-parse "refs/heads/$b" >/dev/null 2>&1; then exists=true verbose git checkout "$b" - elif git rev-parse "refs/remotes/$remote/$b" >/dev/null 2>&1; then + elif [ -n "$b" ] && git rev-parse "refs/remotes/$remote/$b" >/dev/null 2>&1; then exists=true verbose git checkout --track -b "$b" "$remote/$b" else - verbose git checkout "`repobranch "$d"`" + b=`repobranch "$d"` + if git rev-parse "refs/heads/$b" >/dev/null 2>&1; then + exists=true + verbose git checkout "$b" + elif git rev-parse "refs/remotes/$remote/$b" >/dev/null 2>&1; then + exists=true + verbose git checkout --track -b "$b" "$remote/$b" + else + echo "WTF? Not even branch $b doesn't exist in $d" + exit 1 + fi fi cd "$d00" checkself "$cmd" "$@"