New misc scripts, header_usage.sh and author_line_count.sh.

NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2061683002
Cr-Commit-Position: refs/heads/master@{#13148}
This commit is contained in:
nisse 2016-06-15 00:06:24 -07:00 committed by Commit bot
parent 42883f8b85
commit 786f481577
2 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,28 @@
#!/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", "", $1);
}
/^ .*insertion/ { total[author] += $1 }
/^ .*deletion/ { total[author] -= $1 }
END { for (author in total) {
print total[author], author
}
}
' \
| sort -nr

23
webrtc/tools/header_usage.sh Executable file
View File

@ -0,0 +1,23 @@
#!/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 is run in a git repository. It lists all header files,
# sorted by the number of other files where the file name of the file
# occurs. It is intentionally not limited to only source files, and
# there may be some false hits because we search only for the file
# part (sans directory). It is quite slow.
#
# Headers close to the top of the list are candidates for removal.
git ls-files '*.h' '*.hpp' | while read header ; do
name="$(basename "${header}")"
count="$(git grep -l -F "${name}" | wc -l)"
echo "${count}" "${header}"
done | sort -n