From 5362cb14d73e82592eca075f68b9182eec39aa10 Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Fri, 4 Jan 2013 10:19:51 +1100 Subject: [PATCH] merge_old_version: do not use the refs/next... refs --- merge_old_version | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/merge_old_version b/merge_old_version index d0a52f5..759bb5a 100755 --- a/merge_old_version +++ b/merge_old_version @@ -14,7 +14,7 @@ no_build=false tree=$1 ver=$2 -rev=$(git show-ref --verify --hash "refs/next/$ver/$tree") +rev=$(git show next-${ver}:Next/SHA1s | sed -n "s/^$tree\t*//p") [ "$rev" ] || { echo "No such tree/date" 1>&2 exit 1 @@ -41,15 +41,16 @@ execute() return ${PIPESTATUS[0]} } +bad_rev=$(git rev-parse --verify 'HEAD^2') GIT_EDITOR=: execute git reset --hard 'HEAD^' || { echo "git reset failed" 1>&2 bash -i || exit } -log Merging "refs/next/$ver/$tree" -execute git merge "refs/next/$ver/$tree" || { +log Merging "$ver version of $tree" +execute git merge -m "$ver/$tree" "$rev" || { echo Merge failed 1>&2 - echo "refs/next/$ver/$tree" >>../merge.debug + echo "$ver version of $tree" >>../merge.debug git diff >>../merge.debug 2>&1 git diff 2>&1 | egrep -q '<<<<<|^\*' && { bash -i || exit @@ -66,8 +67,8 @@ execute git merge "refs/next/$ver/$tree" || { } d=$(date --date "5 hours ago" '+%Y%m%d') -git update-ref "refs/next/$d/broken/$tree" "refs/next/$d/$tree" -git update-ref "refs/next/$d/$tree" "refs/next/$ver/$tree" +git update-ref "refs/next/$d/broken/$tree" "$bad_rev" +git update-ref "refs/next/$d/$tree" "$rev" $no_build && exit 0 -- 2.39.5