andymeneely / git-churn

(ALPHA) A fast tool for collecting code churn metrics from git repositories.
8 stars 2 forks source link

Default behavior should be NO aggregation, then have an --aggregate= option #37

Open andymeneely opened 4 years ago

andymeneely commented 4 years ago

By default, show everything without aggregation. If the user specifies aggregation, then start pruning.

If I run git-churn abcdef and that's just one commit, then I should get the output of:

If I run `git-churn --aggregate=commit abcdef" then that aggregates the stats across all filepaths within a commit.

If I run git-churn --aggregate=all abcdef..1234ab then that aggregates all commits in that range, and those are aggregations of commit-filepaths that range. The output is a list of commit-level stats.

If I run git-churn --aggregate=all util/foo.c then that aggregates all commits, all time, to that file. One set of stats.

If I run git-churn --aggregate=commit util/foo.c then that returns a list of commit-level stats, aggregating across all filepaths... which in this case is just ONE filepath.

If I run git-churn --aggregate=commit abcdef..1234ab -- util/foo.c then that returns a list of commit-level stats, aggregating across all filepaths... which in this case is just ONE filepath for the range of abcdef..1234ab.

ashishgalagali commented 4 years ago

--aggregate=all is pending