cp /dev/null "$LOG_FILE"
-heads=$(grep -v '^#' ../etc/control | awk -F ' ' '$2=="quilt" { printf("quilt/%s ", $3); } $2=="git" { printf("%s/%s ", $3, $5); }')
+heads=$(awk -F '\t' '/^#/ {next;} { printf("%s/%s ", $3, $5); }' ../etc/control)
+prev_heads=""
-for h in $heads; do
- echo "$h"
- mb=$(git merge-base origin/master "$h")
- rh=$(git rev-parse "$h")
- [ "$mb" = "$rh" ] &&
- continue
+total=0
- c=$(git rev-list --pretty='format:%m%H' --no-merges --left-right --cherry-pick origin/master..."$h" | sed -n 's/^>//p')
- [ -z "$c" ] &&
+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
- echo "$h" $(echo "$c" | wc -w) | tee -a "$LOG_FILE"
- git shortlog --no-walk "$c" 2>&1 | tee -a "$LOG_FILE"
+ 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