blob: c557b06971ffa981f6117e4d08ad53de9d87d523 [file] [log] [blame]
#!/bin/sh
master_sha1=`git rev-parse --verify refs/heads/master`
LF='
'
(cd .git/refs/heads && find -type f) |
sed -n \
-e 's/^\.\///' \
-e '/^[^\/][^\/]\//p' |
while read topic
do
case " $* " in
*' '"$topic"' '*)
echo >&2 "* Skipping $topic"
continue ;;
esac
rebase= done= not_done= trouble= date=
topic_sha1=`git rev-parse --verify "refs/heads/$topic"`
date=`
git rev-list -1 --pretty "$topic" |
sed -ne 's/^Date: *\(.*\)/ (\1)/p'
`
only_next_1=`git rev-list ^master "^$topic" next | sort`
only_next_2=`git rev-list ^master next | sort`
rebase=
if test "$only_next_1" = "$only_next_2"
then
not_in_topic=`git rev-list "^$topic" master`
if test -z "$not_in_topic"
then
:; # already up-to-date.
else
rebase=" (can be rebased)"
fi
fi
if test -n "$rebase"
then
echo "Rebasing $topic to pick up:"
git rev-list --pretty=oneline "^$topic" master |
sed -e 's/^[0-9a-f]* / * /'
git checkout "$topic" &&
git rebase master || break;
fi
done