#!/bin/bash LOG_FILE="../left_over.log" cp /dev/null "$LOG_FILE" heads=$(awk -F '\t' '/^#/ {next;} $2=="branch" {next;} { printf("%s/%s ", $3, $5); }' ../etc/control) prev_heads="" total=0 for h in $heads; do base=origin/master case "$h" in akpm/*) base=akpm/master-base ;; esac # 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') # c=$(git rev-list --no-merges origin/master.."$h") # [ -z "$c" ] && # continue count=$(git rev-list --count --no-merges $prev_heads "$base".."$h") [ "$count" == 0 ] && continue total=$(( $total + $count )) echo | tee -a "$LOG_FILE" echo "${h%%/*}" "$count" | tee -a "$LOG_FILE" echo | tee -a "$LOG_FILE" # git shortlog --no-walk "$c" 2>&1 | tee -a "$LOG_FILE" git log --oneline --no-merges $prev_heads "$base".."$h" | tee -a "$LOG_FILE" # gitk stable..$h prev_heads="$prev_heads ^$h" done echo | tee -a "$LOG_FILE" echo "Total $total" exit 0