LOG_FILE="../left_over.log"
-cp /dev/null $LOG_FILE
+cp /dev/null "$LOG_FILE"
-log()
-{
- echo "$@" | tee -a $LOG_FILE
-}
+heads=$(awk -F '\t' '/^#/ {next;} { printf("%s/%s ", $3, $5); }' ../etc/control)
+prev_heads=""
-heads=$(grep -v '^#' ../real_control | awk -F ' ' '$2=="quilt" { printf("quilt/%s ", $3); } $2=="git" { printf("%s/%s ", $3, $5); }')
+total=0
for h in $heads; do
- mb=$(git merge-base origin/master $h)
- rh=$(git rev-parse $h)
- [ "$mb" = "$rh" ] &&
- continue
+ 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 --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
-## git shortlog --no-walk $c 2>&1 | tee -a $LOG_FILE
-# log $h "$(echo $c | wc -w)"
-
- gitk stable..$h
+ 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