| #!/bin/sh | |
| # | |
| # Not for general consumption; a script I used to make sure | |
| # I do not accidentally push a rewound master to public. | |
| MASTER=master | |
| 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 | |
| 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." | |
| 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/jch jch | |
| git show-branch --topo-order $ko/seen seen |