From 35400d29e3434d1e738836f75c14b27648f5647c Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Mon, 4 Mar 2013 16:12:56 +1100 Subject: [PATCH] remove the use of refs/next --- do_merge | 6 ++++++ make_next_branches | 19 ------------------- make_tree_file | 6 ++---- merge_akpm | 6 +++--- merge_old_version | 16 ++++++++++++++-- remove_oldest | 3 --- 6 files changed, 25 insertions(+), 31 deletions(-) delete mode 100755 make_next_branches diff --git a/do_merge b/do_merge index 0a95322..d5e1a08 100755 --- a/do_merge +++ b/do_merge @@ -1,6 +1,7 @@ #!/bin/bash LOG_FILE="../merge.log" +SHA1_FILE="../SHA1s" build_host="ka2" build_dir="/scratch/sfr/next" build_cmd="bin/build_next" @@ -99,6 +100,8 @@ do_rebase() execute date execute git checkout master execute git reset --hard stable + printf 'Name\t\tSHA1\n----\t\t----\n' > $SHA1_FILE + } heads=$(grep -v '^#' ../real_control | awk -F '\t' '$2=="quilt" || $2=="git" { printf("%s/%s ", $3, $5); }') @@ -146,6 +149,9 @@ for h in $heads; do } done } + tab="\t" + [ $(echo "$tree" | wc -c) -le 8 ] && tab="\t\t" + printf "%s$tab%s\n" $tree $(git show-ref --hash "${h/\/*://}") >> $SHA1_FILE [ -x "../pre-build/$tree" ] && { "../pre-build/$tree" || bash -i || exit } diff --git a/make_next_branches b/make_next_branches deleted file mode 100755 index 314009a..0000000 --- a/make_next_branches +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -dir=$1 - -[ "$dir" ] || dir="$(date '+%Y%m%d')" - -heads=$(grep -v '^#' ../real_control | awk -F '\t' '$2=="quilt" || $2=="git" { printf("%s/%s ", $3, $5); }') - -for h in $heads; do - tree=${h%%/*} - [ "${h%:*}" == "${h}" ] || - h="${tree}/${h##*:}" - - git update-ref "refs/next/$dir/$tree" "$h" -done - -git pack-refs --all --prune - -exit 0 diff --git a/make_tree_file b/make_tree_file index fd0e6b9..d1e7890 100755 --- a/make_tree_file +++ b/make_tree_file @@ -22,9 +22,6 @@ echo 'Trees included into this release: Name Type URL ---- ---- ---' > Next/Trees -echo 'Name SHA1 ----- ----' > Next/SHA1s - IFS=' ' while read email type name url ref build; do [[ "$email" =~ '^#.*$' ]] && continue @@ -33,9 +30,10 @@ while read email type name url ref build; do [ "${ref%:*}" = "${ref}" ] || ref=${ref##*:} [ "$type" = "git" ] && url="$url#$ref" printf "%s$tab%s\t%s\n" $name $type $url - printf "%s$tab%s\n" $name $(git show-ref --verify --hash "refs/next/$d/$name") >> Next/SHA1s done <../real_control >>Next/Trees +mv ../SHA1s Next/SHA1s + for i in quilt-import.log merge.log; do grep -v '^Checking out files:' ../$i >Next/$i done diff --git a/merge_akpm b/merge_akpm index 2c9ff50..b414a03 100755 --- a/merge_akpm +++ b/merge_akpm @@ -1,6 +1,7 @@ #!/bin/bash LOG_FILE="../merge.log" +SHA1_FILE="../SHA1s" build_host="ka2" build_dir="/scratch/sfr/next" build_cmd="bin/build_next" @@ -38,7 +39,6 @@ execute() cpwd=../next -git update-ref "refs/next/$today/akpm-current" akpm/current git branch -f akpm-current/current akpm/current git branch -f akpm/base HEAD @@ -55,6 +55,7 @@ execute git merge akpm-current/current || { GIT_EDITOR=: execute git commit -v -a execute git diff -M --stat --summary 'HEAD^..' } +printf "%s\t%s\n" akpm-current $(git show-ref --hash akpm-current/current) >> $SHA1_FILE execute git clone -s -l -n -q . ../rebase-tmp || { echo Clone failed 1>&2 @@ -80,8 +81,6 @@ execute git fetch -f ../rebase-tmp akpm:akpm/master || { } execute rm -rf ../rebase-tmp -git update-ref "refs/next/$today/akpm" akpm/master - git branch -f akpm/master-base HEAD log Merging akpm/master '('$(git log -1 --oneline akpm/master)')' @@ -89,6 +88,7 @@ execute git merge --no-ff akpm/master || { echo Merge failed 1>&2 bash -i || exit } +printf "%s\t\t%s\n" akpm $(git show-ref --hash akpm/master) >> $SHA1_FILE [ -f "../merge-fixes/akpm" ] && { for p in $(cat "../merge-fixes/akpm"); do diff --git a/merge_old_version b/merge_old_version index 2746de8..c273d03 100755 --- a/merge_old_version +++ b/merge_old_version @@ -1,6 +1,7 @@ #!/bin/bash LOG_FILE="../merge.log" +SHA1_FILE="../SHA1s" build_host="ka2" build_dir="/scratch/sfr/next" build_cmd="bin/build_next" @@ -42,6 +43,16 @@ execute() } bad_rev=$(git rev-parse --verify 'HEAD^2') + +line="$(tail -n 1 $SHA1_FILE)" +tab="\t" +[ $(echo "$tree" | wc -c) -le 8 ] && tab="\t\t" +expected=$(printf "%s$tab%s" $tree $bad_rev) +[ "$line" = "$expected" ] || { + echo "bad last line in $SHA1_FILE" 1>&2 + exit 1 +} + GIT_EDITOR=: execute git reset --hard 'HEAD^' || { echo "git reset failed" 1>&2 bash -i || exit @@ -67,8 +78,9 @@ execute git merge -m "$ver/$tree" "$rev" || { } d=$(date --date "5 hours ago" '+%Y%m%d') -git update-ref "refs/next/$d/broken/$tree" "$bad_rev" -git update-ref "refs/next/$d/$tree" "$rev" + +sed -i '$d' $SHA1_FILE +printf "%s$tab%s\n" $tree $rev >>$SHA1_FILE $no_build && exit 0 diff --git a/remove_oldest b/remove_oldest index 7443bef..296d03c 100755 --- a/remove_oldest +++ b/remove_oldest @@ -13,8 +13,5 @@ od=${oldest#next-} git tag -d $oldest git push korg --delete $oldest -for r in $(git for-each-ref --format='%(refname)' "refs/next/$od"); do - git update-ref -d $r -done exit 0 -- 2.39.2