6 LOG_FILE="../stats/next-$d-summary"
12 echo "$@" | tee -a $LOG_FILE
17 printf "$@" | tee -a $LOG_FILE
22 echo "$*" | xargs -r -n 1 git diff-tree -p | git patch-id | sort
27 patch_and_sha_ids "$@" | cut -d' ' -f1
30 trees=$(grep -v '^#' ../real_control | awk -F ' ' '{ printf("%s ", $3); }')
36 plog '%-20s %7s' "Tree" "commits"
38 plog ' %s' "since next-$prev"
43 [ "$t" = "origin" ] &&
47 prev_num=$(egrep "^$t +[0-9]+" "../stats/next-$prev-summary")
48 if [ "$prev_num" ]; then
49 prev_num=$(expr "$prev_num" : "[^ ]* *\([0-9]*\).*")
56 git rev-parse --verify "$h" >/dev/null 2>&1 ||
59 mb=$(git merge-base origin/master $h)
60 rh=$(git rev-parse $h)
61 [ "$mb" = "$rh" ] && {
64 plog ' %+7d' $((0 - prev_num))
69 c=$(git rev-list --no-merges $mb...$rh $seen_heads | sort)
70 seen_heads="$seen_heads ^$rh"
74 plog ' %+7d' $((0 - prev_num))
79 # origin_ids=$(patch_ids $(git rev-list --no-merges $mb..origin/master))
81 is=$(patch_and_sha_ids $c)
82 # is=$(join -v 1 <(echo "$is") <(echo "$origin_ids"))
83 is=$(echo "$is" | join -v 1 - "../stats/origin1-$d.ids")
84 is=$(join -v 1 <(echo "$is") <(echo "$seen_ids"))
85 c1=$(echo "$is" | cut -d' ' -f2)
87 seen_ids=$( (echo "$seen_ids"; echo "$is" | cut -d' ' -f1) | sort)
89 seen_sha1s="$seen_sha1s $c1"
91 # log $t \($(echo "$c" | wc -w) $(echo "$c1" | wc -w)\)
92 num=$(echo "$c1" | wc -w)
93 plog '%-20s %7d' $t $num
95 plog ' %+7d' $((num - prev_num))
100 git shortlog --no-walk $seen_sha1s 2>&1 | tee -a $LOG_FILE