How to efficiently blame an entire repo?
- From
Jay Soffian <jaysoffian@gmail.com>
- Date
- Apr 29, 2010, 23:12 UTC
- Message-ID
- <r2l76718491004291612qbe0834ela89f0606e5f477e2@mail.gmail.com>
Let's say you've got a repo with ~ 40K files and 35K commits. Well-packed .git is about 800MB.
You want to find out how many lines of code a particular group of individuals has contributed to HEAD.
The naive solution is to run git blame on all 40K files grep'ing for the just the authors you want.
Possibly a step up from that is first using log --name-status --author=... to find just the files which have been touched by those authors and then blaming only those files.
I guess the next step up would be parsing the diff hunks output by log -p, but then you're basically re-implementing blame I think.
Am I missing a clever solution?
j.