git branch -f akpm/base HEAD
+old_head=$(git rev-parse HEAD)
hlog=$(git log -1 --oneline akpm-current/current) 2>/dev/null
log Merging akpm-current/current "($hlog)"
execute git merge akpm-current/current || {
}
printf "%s\t%s\n" akpm-current $(git show-ref --hash akpm-current/current) >> $SHA1_FILE
+[ -f "../merge-fixes/akpm-current" ] && {
+ for p in $(cat "../merge-fixes/akpm-current"); do
+ $(dirname $0)/merge_fix -n "$p" || {
+ bash -i || exit
+ }
+ done
+}
+[ -x "../pre-build/akpm-current" ] && {
+ "../pre-build/akpm-current" || bash -i || exit
+}
+
+new_head=$(git rev-parse HEAD)
+
+$no_build ||
+ [ "$old_head" = "$new_head" ] ||
+ [ "$(git diff ${old_head}.. | wc -c)" -eq 0 ] || {
+
+ git push -f "$build_host":"$build_dir" master:refs/heads/next || {
+ echo git push failed 1>&2
+ bash -i || exit
+ }
+ ssh "$build_host" "$build_cmd" || {
+ echo Build failed 1>&2
+ bash -i || exit
+ }
+}
+
execute git clone -s -l -n -q . ../rebase-tmp || {
echo Clone failed 1>&2
bash -i || exit
git branch -f akpm/master-base HEAD
+old_head=$(git rev-parse HEAD)
log Merging akpm/master '('$(git log -1 --oneline akpm/master)')'
execute git merge --no-ff akpm/master || {
echo Merge failed 1>&2
"../pre-build/akpm" || bash -i || exit
}
-$no_build && exit 0
+new_head=$(git rev-parse HEAD)
-git push -f "$build_host":"$build_dir" master:refs/heads/next || {
- echo git push failed 1>&2
- bash -i || exit
-}
-ssh "$build_host" "$build_cmd" || {
- echo Build failed 1>&2
- bash -i || exit
+$no_build ||
+ [ "$old_head" = "$new_head" ] ||
+ [ "$(git diff ${old_head}.. | wc -c)" -eq 0 ] || {
+
+ git push -f "$build_host":"$build_dir" master:refs/heads/next || {
+ echo git push failed 1>&2
+ bash -i || exit
+ }
+ ssh "$build_host" "$build_cmd" || {
+ echo Build failed 1>&2
+ bash -i || exit
+ }
}
exit 0