#!/usr/bin/awk -f # # A trivial script to display user rev date of the first entry from stdin # per svn log entry. Relies on svn log to dump most to last recent and # therefore show the most recent commit-per-committer, e.g. # # svn log -q -r###:### http://svn.apache.org/repos/asf/apr | ./whocommitted.awk # # produces the most-recent-commits per committer summary # # To concatinate range by range, use --incremental for svn log args, e.g. # svn log -q -r10000:19999 --incremental http://svn... >> catfile # BEGIN { FS = "[ |]+"; } /^-+$/ { next } !/\(no author\)/ { if ($1 < FSEEN[$2] || FSEEN[$2] < "r") { FSEEN[$2] = $1; FDATE[$2] = $3; } if ($1 > SEEN[$2]) { SEEN[$2] = $1; DATE[$2] = $3; } ++COUNT[$2]; } END { printf("%12s %5s %8s %9s %-8s %-8s\n", " ", "Count", "First", "Last", "First", "Last"); for (UID in SEEN) { printf("%-12s %5s %s %s %-8s %-8s\n", UID, COUNT[UID], FDATE[UID], DATE[UID], FSEEN[UID], SEEN[UID]); } }