Skip to content

yreynhout/sharptemporalgitalyzer

Repository files navigation

CSharp Temporal Method Analyzer

for git repositories

Comes with a "build it yourself" policy. It uses that NuGet thing to restore packages. Specify the path to git in the app.config, thanks.

Usage sharp temporal gitalyzer:

stgalyzer <path to your local git file repo>

Spits out a .csv file under .\analysis for each commit containing all csharp methods at that point in the working copy in the following format:

FullMethodName\tMethodBodyLength\tMethodBodyLineCount\tMethodBodyHash\tFilePath\tCommitHash\tCommitter\tCommitDate

Right now, it's hard-coded to do this for the 'master' branch.

Usage of change over time:

spitcot <path to the .\analysis folder>

Spits out a .csv file under . containing the number of methods added, removed, modified on a date by date basis. The format used is:

CommitUtcDate\tAdded\tModified\tRemoved

Use a spreadsheet to graph the add/modify/remove ratio over time.

What can I do with these .csv files ?

Given that I don't know what analysis you are interested in, it requires you to write another piece of code, one that reads and analyzes the .csv files. Things you could do:

  • read and compare each commit's .csv with the previous one to detect the methods that were added, removed, modified (spitcot).
  • rank methods/types/projects/areas by their size over time.
  • produce another intermediate format that suits your needs.
  • you might pick up some ideas here.

Disclaimer

Unstable! Only do this on a throw-away copy of your repo. If shit hits the fan, you're on your own. I'm not liable and have a good lawyer ;-) This is a sample, not a project/product. You're supposed to change the code to make it do what you want. Duh!!

About

CSharp Temporal Method Analyzer for git repositories

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages