diff options
author | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-05 19:04:05 +0000 |
---|---|---|
committer | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-05 19:04:05 +0000 |
commit | 90aafff5b9178314f486f2917d71f4263fbe03a0 (patch) | |
tree | 4c04518d6bd181585be511518ed15d171295a8bb /tools/git/graph.sh | |
parent | 2c529af0df02fb3eee5ff3e1068c3c2d5e8aebff (diff) | |
download | chromium_src-90aafff5b9178314f486f2917d71f4263fbe03a0.zip chromium_src-90aafff5b9178314f486f2917d71f4263fbe03a0.tar.gz chromium_src-90aafff5b9178314f486f2917d71f4263fbe03a0.tar.bz2 |
Check in a little toy that graphs history of words in the source.
Useful for tracking progress on projects like wstring removal.
Review URL: http://codereview.chromium.org/3017058
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55107 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/git/graph.sh')
-rwxr-xr-x | tools/git/graph.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tools/git/graph.sh b/tools/git/graph.sh new file mode 100755 index 0000000..4d2bcb2 --- /dev/null +++ b/tools/git/graph.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# Copyright (c) 2010 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +about="Given a grep expression, creates a graph of occurrences of that +expression in the recent history of the tree. + +Prerequisites: git and GNU R (apt-get install r-base). +" + +set -e + +target="$1" + +if [ -z $target ]; then + echo "usage: $0 <grep-compatible expression>" + echo + echo "$about" + exit 1 +fi + +datafile=$(mktemp) +trap "rm -f $datafile" EXIT + +echo 'ago count' > $datafile +for ago in {90..0}; do + commit=$(git rev-list -1 --until="$ago days ago" origin/trunk) + git checkout -q -f $commit + count=$(git grep -E "$target" -- '*.cc' '*.h' '*.m' '*.mm' | wc -l) + echo "-$ago $count" >> $datafile + echo -n '.' +done + +R CMD BATCH <(cat <<EOF +data = read.delim("$datafile", sep=' ') +png(width=600, height=300) +plot(count ~ ago, type="l", main="$target", xlab='days ago', data=data) +EOF +) /dev/null + +echo done. # Primarily to add a newline after all the dots. |