webrtc/rtc_tools/author_line_count.sh
Niels Möller ef139908ee author_line_count.sh: Move user arguments last
Moving the "$@" last in the invocation of git log enables line stats
restricted to specific files or directories, e.g.,

  ./rtc_tools/author_line_count.sh ... -- modules/foo

Bug: None
Change-Id: I6dc17a10f2b321beae452f5e2cc74bcba2f8aaf3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130491
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27381}
2019-04-01 08:03:05 +00:00

28 lines
944 B
Bash
Executable file

#!/bin/bash
# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS. All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.
# This script counts net line count contributions by author. Besides
# amusement, the value of these stats are of course questionable.
git log --pretty=format:%ae --shortstat "$@" \
| sed '/^ /s/,/\n/g' \
| gawk '
/^[^ ]/ {
/* Some author "email addresses" have a trailing @svn-id, strip that out. */
author = gensub(/^([^@]*@[^@]*).*/, "\\1", "g", $1);
}
/^ .*insertion/ { total[author] += $1 }
/^ .*deletion/ { total[author] -= $1 }
END { for (author in total) {
print total[author], author
}
}
' \
| sort -nr