From: Stephen Rothwell Date: Wed, 19 Nov 2008 05:25:34 +0000 (+1100) Subject: allow for optional building after merging a tree X-Git-Url: http://git.ozlabs.org/?a=commitdiff_plain;h=e416fb0e4b08ebc9ef1dc994d0e9ec07fefbaa85;p=next-scripts allow for optional building after merging a tree --- diff --git a/do_merge b/do_merge index 44b90d7..ff19ef6 100755 --- a/do_merge +++ b/do_merge @@ -31,7 +31,11 @@ execute git reset --hard stable heads=$(grep -v '^#' ../real_control | awk -F ' ' '$2=="quilt" { printf("quilt/%s ", $3); } $2=="git" { printf("%s/%s ", $3, $5); }') +need_build=false + for h in $heads; do + tree=${h%/*} + [ "$tree" == "quilt" ] && tree=${h#quilt/} log Merging $h old_head=$(git rev-parse HEAD) execute git merge $h || { @@ -40,9 +44,21 @@ for h in $heads; do GIT_EDITOR=: execute git commit -v -a execute git diff -M --stat --summary 'HEAD^..' } - new_head=$(git rev-parse HEAD) - [ "$old_head" = "$new_head" ] && continue $no_build && continue + $need_build || { + # See if we need to build after merging this tree + new_head=$(git rev-parse HEAD) + [ "$old_head" = "$new_head" ] || + need_build=true + $need_build || + [ "$(git diff ${old_head}.. | wc -c)" -eq 0 ] || + need_build=true + } + $need_build || + continue + do_build=$(grep -v '^#' ../real_control | awk -F ' ' '$3=="'$tree'" { print $6; }') + [ "$do_build" = "yes" ] || + continue rsync -avH --exclude .git --delete . "$build_host":"$build_dir"/. || { echo Rsync failed 1>&2 bash -i || exit @@ -51,6 +67,7 @@ for h in $heads; do echo Build failed 1>&2 bash -i || exit } + need_build=false done exit 0 diff --git a/make_tree_file b/make_tree_file index 83ade75..8a75492 100755 --- a/make_tree_file +++ b/make_tree_file @@ -18,7 +18,7 @@ echo 'Name SHA1 ---- ----' > Next/SHA1s IFS=' ' -while read email type name url ref; do +while read email type name url ref build; do [[ "$email" =~ '^#.*$' ]] && continue tab="\t" [ $(echo "$name" | wc -c) -le 8 ] && tab="\t\t"