Skip to content
jordanell edited this page Jun 20, 2012 · 4 revisions

The ownership is the third stage of generating the Call Graph. The main goal of the ownership stage is to figure out what contributors to the project own which pieces of code inside of a file. After the ownership is done, we can determine the weight of relationships in our final technical network.

Building

Git Blame

The program that is used is simply jGit's Blame tool. It works in a similar fashion to the git glame command on the command line. From this tool we can extract who owns what lines of code in a file and we simply do a quick conversion to character ranges.

Limitations

The regular git blame tool can track when source code is simply move from one file to another and will maintain ownership across the files. However, jGit blame does not do this. If code is transferred from one file to another, the person who did the transfer assumes ownership of all the code transferred. To fix this in the future we may want to switch to the regular git blame tool and change our parser for its return values.

Clone this wiki locally