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:
All the filepaths for the commit, and their stats
Any commit-level stats that are NOT just an aggregation of filepath stats.
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.
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 ofabcdef..1234ab
.