53 lines
894 B
Bash
Executable File
53 lines
894 B
Bash
Executable File
#!/bin/sh
|
|
|
|
force=
|
|
while case "$#" in 0) break;; esac
|
|
do
|
|
case "$1" in
|
|
-f | --force)
|
|
force=force ;;
|
|
-*)
|
|
echo >&2 "$0: unknown option '$1'"
|
|
exit 1 ;;
|
|
*)
|
|
break ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
case "$#" in
|
|
0) : happy ;;
|
|
*) echo >&2 "$0: extra arguments" ;;
|
|
esac
|
|
|
|
above_master=$(git rev-list --first-parent master.. | wc -l)
|
|
above_next=$(git rev-list --first-parent next.. | wc -l)
|
|
if test "$above_master" != "$above_next"
|
|
then
|
|
if test "$force" = force
|
|
then
|
|
echo >&2 warning: some patches are already in next
|
|
else
|
|
echo >&2 fatal: some patches are already in next
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
MID=
|
|
OLD=$(git rev-parse HEAD)
|
|
git detach || exit
|
|
git rev-list HEAD..$OLD |
|
|
while read commit
|
|
do
|
|
git notes --ref=amlog show $commit
|
|
done |
|
|
sed -n -e '/^Message-Id: /{
|
|
s///p
|
|
q
|
|
}' |
|
|
xargs -n1 b4 am -o- -T |
|
|
tee ./+b4am.mbx |
|
|
git am -s3 && rm -f ./+b4am.mbx &&
|
|
|
|
git range-diff --notes=amlog --crea=999 @{-1}...
|