FWIW, heres a simple shell script which merges each of origin/smoke-me* to blead, and reports status. git branch -D `git branch | grep merge-` for br in `git branch -r | grep origin/smoke-me`; do mbr=${br##*/} echo $mbr git checkout -b merge-$mbr blead if git merge $br; then echo "$br merged ok" okmerged="$okmerged $br" #(cd .. && ./build_all.pl -vsj9 -- test) #echo "hit return to continue" #read foo else git reset --hard HEAD git checkout blead git branch -D merge-$br conflicted="$conflicted $br" fi done echo "conflicted merges: $conflicted" echo "ok merges: $okmerged" RESULTS: $ time sh ../merge-test <snipped merge progress> conflicted merges: origin/smoke-me/89218 origin/smoke-me/B-shrink origin/smoke-me/Open3-2 origin/smoke-me/Open3-3 origin/smoke-me/Open3-4 origin/smoke-me/PL_direct origin/smoke-me/alemfast_lex origin/smoke-me/arenas origin/smoke-me/asciiTableLookup origin/smoke-me/avar/useperlio origin/smoke-me/bm origin/smoke-me/dual-life-checktree origin/smoke-me/getaddrname origin/smoke-me/global-struct origin/smoke-me/khw_invert_kludge origin/smoke-me/ld_export origin/smoke-me/microperl origin/smoke-me/migrate-Pod-converters origin/smoke-me/noholes origin/smoke-me/podcheck3 origin/smoke-me/pwent.t origin/smoke-me/regen origin/smoke-me/runperl origin/smoke-me/sigdispatch origin/smoke-me/smoke origin/smoke-me/todo-be-more-specific origin/smoke-me/unify-embed.h-hiding-macros origin/smoke-me/uudmap_Makefile_fix origin/smoke-me/vtbl ok merges: origin/smoke-me/MAD origin/smoke-me/Open3-5 origin/smoke-me/blead origin/smoke-me/cmpVERSION origin/smoke-me/cpan origin/smoke-me/do-not-set-perl5lib origin/smoke-me/eintr origin/smoke-me/eu_typemap origin/smoke-me/gcc460 origin/smoke-me/greerga/cygwin_g++ origin/smoke-me/inet_aton origin/smoke-me/nan_inf_str origin/smoke-me/scream origin/smoke-me/scream2 origin/smoke-me/staticcwd origin/smoke-me/test-no-sawampersand real 0m15.455s user 0m9.613s sys 0m5.430s actually smoking them is a longer process ;-)Thread Next