| #!/bin/sh |
| |
| # git branch -D upstream/rewritten-prev upstream/master upstream/rewritten filter-state-split |
| |
| set -e |
| |
| export SCRIPTS=$(dirname $(readlink -f $0)) |
| |
| export FILTER_BRANCH_SQUELCH_WARNING=1 |
| |
| UPSTREAM_MASTER=upstream/master |
| UPSTREAM_REWRITTEN=upstream/dts |
| |
| LAST=$(git show-ref -s refs/heads/$UPSTREAM_MASTER||true) |
| if [ -n "$LAST" ] ; then |
| RANGE="$LAST..$UPSTREAM_REWRITTEN" |
| else |
| # This must be a new conversion... |
| RANGE="$UPSTREAM_REWRITTEN" |
| fi |
| |
| FETCH_HEAD=$(git rev-parse FETCH_HEAD) |
| if [ "$LAST" = "$FETCH_HEAD" ] ; then |
| echo "Nothing new in FETCH_HEAD: $FETCH_HEAD" |
| exit 0 |
| fi |
| |
| rm -f .git/refs/original/refs/heads/${UPSTREAM_REWRITTEN} |
| |
| git branch -f $UPSTREAM_REWRITTEN FETCH_HEAD |
| |
| PATH=$(git --exec-path):$PATH $SCRIPTS/git-filter-branch --force \ |
| --index-filter ${SCRIPTS}/index-filter.sh \ |
| --msg-filter 'cat && /bin/echo -e "\n[ upstream commit: $GIT_COMMIT ]"' \ |
| --tag-name-filter 'while read t ; do /bin/echo -n $t-dts-raw ; done' \ |
| --parent-filter 'sed "s/-p //g" | xargs -r git show-branch --independent | sed "s/\</-p /g"' \ |
| --prune-empty --state-branch refs/heads/filter-state-split \ |
| -- $RANGE |
| |
| git branch -f $UPSTREAM_MASTER FETCH_HEAD |