# Not for general consumption; a script I used to make sure
# I do not accidentally push a rewound master to public.
-case "$1" in --no-fetch) shift ;; *) git fetch ko ;; esac
+no_fetch= ko=ko
+while :
+do
+ case "$#,$1" in
+ 0,*) break ;;
+ *,--no-fetch) no_fetch=t; shift ;;
+ *,--*) echo >&2 "unknown option $1"; exit 1 ;;
+ *) ko=$1; shift ;;
+ esac
+done
-mb=$(git merge-base ko/master master)
-h=$(git rev-parse $mb ko/master | sort -u | wc -l)
+if test -z "$no_fetch"
+then
+ git fetch "$ko"
+fi
+
+mb=$(git merge-base $ko/master master)
+h=$(git rev-parse $mb $ko/master | sort -u | wc -l)
if test "$h" != 1
then
- echo "OOOOOPPPPPPPPPPPPPPSSS! master is not ko/master fast forward."
+ echo "OOOOOPPPPPPPPPPPPPPSSS! master is not $ko/master fast forward."
exit 1
fi
-git show-branch --topo-order ko/master master
-git show-branch --topo-order ko/maint maint
-git show-branch --topo-order ko/next next
-git show-branch --topo-order ko/pu pu
+git show-branch --topo-order $ko/master master
+git show-branch --topo-order $ko/maint maint
+git show-branch --topo-order $ko/next next
+git show-branch --topo-order $ko/pu pu