File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed
Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+ #
3+ # Prints the summary statistics per year per author.
4+ #
5+ # <year> <author_first_name> <author_last_name> <num_commits> <files_changed> <additions> <deletions>
6+
7+ # Determine root directory:
8+ root=" $( git rev-parse --show-toplevel) "
9+
10+ # Define the path to a utility to generate commit short stats:
11+ shortstats=" ${root} /tools/git/scripts/shortstats"
12+
13+ # * `shortstats`
14+ # - Get summary statistics for each commit.
15+ # * `awk '{}'`
16+ # - Tabulate the yearly totals.
17+ # * `sort -k1n`
18+ # - Sort the year numerically.
19+ " ${shortstats} " | awk '
20+ {
21+ # Update yearly totals per author:
22+ commits[$5,$6,$7] += 1
23+ files[$5,$6,$7] += $8
24+ additions[$5,$6,$7] += $9
25+ deletions[$5,$6,$7] += $10
26+ }
27+ END {
28+ for (k in commits) {
29+ split(k, keys, SUBSEP)
30+ print keys[1] OFS keys[2] OFS keys[3] OFS commits[k] OFS files[k] OFS additions[k] OFS deletions[k]
31+ }
32+ }
33+ ' | sort -k1n
You can’t perform that action at this time.
0 commit comments