#!/bin/bash
LOG_FILE="../merge.log"
+SHA1_FILE="../SHA1s"
build_host="ka2"
build_dir="/scratch/sfr/next"
build_cmd="bin/build_next"
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); }')
}
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
}
+++ /dev/null
-#!/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
Name Type URL
---- ---- ---' > Next/Trees
-echo 'Name SHA1
----- ----' > Next/SHA1s
-
IFS=' '
while read email type name url ref build; do
[[ "$email" =~ '^#.*$' ]] && continue
[ "${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
#!/bin/bash
LOG_FILE="../merge.log"
+SHA1_FILE="../SHA1s"
build_host="ka2"
build_dir="/scratch/sfr/next"
build_cmd="bin/build_next"
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
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
}
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)')'
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
#!/bin/bash
LOG_FILE="../merge.log"
+SHA1_FILE="../SHA1s"
build_host="ka2"
build_dir="/scratch/sfr/next"
build_cmd="bin/build_next"
}
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
}
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
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