#!/bin/bash LOG_FILE="../left_over.log" cp /dev/null $LOG_FILE log() { echo "$@" | tee -a $LOG_FILE } heads=$(grep -v '^#' ../real_control | awk -F ' ' '$2=="quilt" { printf("quilt/%s ", $3); } $2=="git" { printf("%s/%s ", $3, $5); }') for h in $heads; do echo $h mb=$(git merge-base origin/master $h) rh=$(git rev-parse $h) [ "$mb" = "$rh" ] && continue c=$(git rev-list --pretty='format:%m%H' --no-merges --left-right --cherry-pick origin/master...$h | sed -n 's/^>//p') [ -z "$c" ] && continue log $h "$(echo $c | wc -w)" | tee -a $LOG_FILE git shortlog --no-walk $c 2>&1 | tee -a $LOG_FILE # gitk stable..$h done exit 0