git-stats 0.2.1

A tool for getting aggregated commit stats
Documentation
# Changelog

## 0.2.1

### Patch Changes

- [`27a2bd7`]https://github.com/lukehsiao/git-stats/commit/27a2bd7d17073e9a4bffd238d5e12ccf7e3c80bc Thanks [@lukehsiao]https://github.com/lukehsiao! - **perf**: dramatically speed up stats on large repositories.

  Per-commit diffing did redundant work that cancelled out parallelism. On a full
  clone of `torvalds/linux`, `HEAD~2000..HEAD` (61,860 commits) now runs about 3x
  faster, and a full-history run completes in minutes where it was previously
  impractical. Output is unchanged.

<pre>
$ git-stats v0.2.0..v0.2.1
Author               Commits  Changed Files  Insertions  Deletions  Net Δ
Luke Hsiao               129            250       +8746      -2696  +6050
dependabot[bot]           52            102        +327       -457   -130
github-actions[bot]        3             15         +91        -45    +46
Total                    184            367       +9164      -3198  +5966
</pre>

## 0.2.0

### Minor Changes

- [`1af1932`]https://github.com/lukehsiao/git-stats/commit/1af1932bc1ddbe9e403caeafb15da1d4d107aa34 Thanks [@lukehsiao]https://github.com/lukehsiao! - **refactor**: This is a full rewrite from being a glorified shell script to doing all of the computation natively in Rust.

  There are no feature changes.

  This also dramatically improves performance.
  For example, with this refactor, we can run on the `git/git` repository in

  ```
  Benchmark 1: git-stats
    Time (mean ± σ):     19.520 s ±  0.622 s    [User: 185.828 s, System: 4.572 s]
    Range (min … max):   18.460 s … 20.565 s    10 runs
  ```

  on a laptop with an Intel i7-1355U.
  With the previous version of `git-stats` this takes about 6 minutes!

<pre>
$ git-stats v0.1.23..v0.2.0
Author               Commits  Changed Files  Insertions  Deletions  Net Δ
Luke Hsiao               127            246       +8609      -2658  +5951
dependabot[bot]           52            102        +327       -457   -130
github-actions[bot]        2             10         +71        -35    +36
Total                    181            358       +9007      -3150  +5857
</pre>

## 0.1.23

### Patch Changes

- [`197ccc9`]https://github.com/lukehsiao/git-stats/commit/197ccc9a25d138f573e9f73a35df668c70c5922f Thanks [@lukehsiao]https://github.com/lukehsiao! - **style**: remove leading and trailing spaces on output.

  Before:

  ```
   Author           Commits  Changed Files  Insertions  Deletions  Net Δ
   Luke Hsiao           120            214       +4863      -2032  +2831
   dependabot[bot]       50            100        +326       -456   -130
   Total                170            314       +5189      -2488  +2701
  ```

  After:

  ```
  Author           Commits  Changed Files  Insertions  Deletions  Net Δ
  Luke Hsiao           121            215       +4868      -2033  +2835
  dependabot[bot]       50            100        +326       -456   -130
  Total                171            315       +5194      -2489  +2705
  ```

<pre>
$ git-stats v0.1.22..v0.1.23
Author      Commits  Changed Files  Insertions  Deletions  Net Δ
Luke Hsiao        1              3         +39        -10    +29
Total             1              3         +39        -10    +29
</pre>

## 0.1.22

### Patch Changes

- [`7a1196e`]https://github.com/lukehsiao/git-stats/commit/7a1196ec630e9e6dbac6057975991333e5e19fa2 Thanks [@lukehsiao]https://github.com/lukehsiao! - Add metadata and binaries for [`cargo-binstall`]https://github.com/cargo-bins/cargo-binstall compatibility.

<pre>
$ git-stats v0.1.21..v0.1.22
 Author      Commits  Changed Files  Insertions  Deletions  Net Δ
 Luke Hsiao        3             17       +1249       -214  +1035
 Total             3             17       +1249       -214  +1035
</pre>

## [0.1.21]https://github.com/lukehsiao/git-stats/compare/v0.1.20..v0.1.21 - 2026-01-07

### Bug Fixes

- escape author in cli arguments - ([fcd700f]https://github.com/lukehsiao/git-stats/commit/fcd700fe96784e2b315aece5e91421d69c6ead21) - Luke Hsiao

---

## [0.1.20]https://github.com/lukehsiao/git-stats/compare/v0.1.19..v0.1.20 - 2025-02-28

### Bug Fixes

- add proper spacing when using --author - ([30fb6d0]https://github.com/lukehsiao/git-stats/commit/30fb6d069b91c207959c9395ca5f37f4f5dfb7b6) - Luke Hsiao

### Build and Dependencies

- **(deps)** bump clap from 4.5.23 to 4.5.27 - ([f0d95ea]https://github.com/lukehsiao/git-stats/commit/f0d95ea69a19965c7a5a0712e06590de0058fbe6) - dependabot[bot]
- **(deps)** bump anyhow from 1.0.94 to 1.0.96 - ([c81ca02]https://github.com/lukehsiao/git-stats/commit/c81ca022ba11a14daed50bbd2f13b270e6c778ed) - dependabot[bot]
- update all dependencies - ([d581c5c]https://github.com/lukehsiao/git-stats/commit/d581c5ce1fd1b0d7324e094bc1546ccf0bbfc803) - Luke Hsiao

---

## [0.1.19]https://github.com/lukehsiao/git-stats/compare/v0.1.18..v0.1.19 - 2024-12-19

### Features

- support `--since` and `--until` filters for git log - ([c0c1361]https://github.com/lukehsiao/git-stats/commit/c0c1361b46e8ad8bd37a70263b4a4b9ed0bb17dc) - Luke Hsiao

### Documentation

- **(LICENSE)** use markdown for nicer rendering - ([de2f3fb]https://github.com/lukehsiao/git-stats/commit/de2f3fbd08808bbf4095ce7682cc79e73728aa2b) - Luke Hsiao

---

## [0.1.18]https://github.com/lukehsiao/git-stats/compare/v0.1.17..v0.1.18 - 2024-10-01

This is a minor refactor.
As part of fixing clippy's pedantic lints, there should be slight performance improvments.

### Refactor

- fix clippy pedantic lints - ([ec15965]https://github.com/lukehsiao/git-stats/commit/ec15965c6b87df25cfd2496944a9e3cd7b676bab) - Luke Hsiao

### Build and Dependencies

- **(deps)** bump clap from 4.5.15 to 4.5.16 - ([3c03f20]https://github.com/lukehsiao/git-stats/commit/3c03f20b5336aa592773087e3fc2a156d8f6cd1d) - dependabot[bot]
- **(deps)** bump tabled from 0.15.0 to 0.16.0 - ([8645b3b]https://github.com/lukehsiao/git-stats/commit/8645b3be6930684ca7298b6dacc567b939fe087a) - dependabot[bot]
- **(deps)** bump clap from 4.5.16 to 4.5.18 - ([641dce5]https://github.com/lukehsiao/git-stats/commit/641dce557c8ec4be2c250a332b4442bf8a7b8b09) - dependabot[bot]
- **(deps)** bump anyhow from 1.0.86 to 1.0.89 - ([8f21b1c]https://github.com/lukehsiao/git-stats/commit/8f21b1c82ccff8ec0f3ad18d18d2554f27143e16) - dependabot[bot]

---

## [0.1.17]https://github.com/lukehsiao/git-stats/compare/v0.1.16..v0.1.17 - 2024-08-10

This release fixes a significant flaw with how `--author` behaved, which caused authors and commits to be lower than expected, or missed entirely.
**I strongly recommend you upgrade.**

This patch switches from using `git shortlog` to `git log` when collecting the set of authors to compute stats on.

There is a bug with `git` itself when providing the `--author` flag.
Specifically, the behavior of `git log` and `git shortlog` behave differently when dealing with author filters that also are affected by `.mailmap`.
`git log` appears to apply the filter AFTER applying `.mailmap`, whereas
`git shortlog` appears to do it BEFORE.

### Bug Fixes

- use `log`, not `shortlog` for proper `--author` support - ([654a7b4]https://github.com/lukehsiao/git-stats/commit/654a7b46669ce5e17614bb42e7335a7a099ea94b) - Luke Hsiao

---

## [0.1.16]https://github.com/lukehsiao/git-stats/compare/v0.1.15..v0.1.16 - 2024-05-03

### Features

- support `--author` flag for git-shortlog - ([ed80049]https://github.com/lukehsiao/git-stats/commit/ed800491c5bcc52fc354445dab9634ca0ca641b3) - Luke Hsiao

---

## [0.1.15]https://github.com/lukehsiao/git-stats/compare/v0.1.14..v0.1.15 - 2024-04-26

### Documentation

- **(README)** fix indentation of example output - ([bdc8dac]https://github.com/lukehsiao/git-stats/commit/bdc8dac79963e9f773b9e4f2d1c63094b0159b5f) - Luke Hsiao

### Performance

- drop unneeded derives and sort - ([9766ad4]https://github.com/lukehsiao/git-stats/commit/9766ad42503474ffe80f9f66743bc80232eabb34) - Luke Hsiao

---

## [0.1.14]https://github.com/lukehsiao/git-stats/compare/v0.1.13..v0.1.14 - 2024-04-26

### Documentation

- **(README)** update alignment of output - ([960f18e]https://github.com/lukehsiao/git-stats/commit/960f18e1f68af5b4b4b3096b13f4e98913a895c6) - Luke Hsiao

### Features

- allow sorting by other columns - ([627d3f0]https://github.com/lukehsiao/git-stats/commit/627d3f09dd596ae862fe3a4de57bcd74d3b94847) - Luke Hsiao

---

## [0.1.13]https://github.com/lukehsiao/git-stats/compare/v0.1.12..v0.1.13 - 2024-04-19

### Refactor

- don't right-align "Total" - ([1f80584]https://github.com/lukehsiao/git-stats/commit/1f805843d60da3da8429229188b331ca54f385d8) - Luke Hsiao

---

## [0.1.12]https://github.com/lukehsiao/git-stats/compare/v0.1.11..v0.1.12 - 2024-04-19

### Refactor

- remove redundant logic - ([9db509e]https://github.com/lukehsiao/git-stats/commit/9db509ece52584c8459d91131b1db2f79c63ffa2) - Luke Hsiao

---

## [0.1.11]https://github.com/lukehsiao/git-stats/compare/v0.1.10..v0.1.11 - 2024-04-19

### Features

- improve styling, and disable if not interactive - ([d5a6209]https://github.com/lukehsiao/git-stats/commit/d5a6209838bdf7e3def54c0919c5e0105aa73bc6) - Luke Hsiao

---

## [0.1.10]https://github.com/lukehsiao/git-stats/compare/v0.1.9..v0.1.10 - 2024-04-19

### Features

- include totals of all statistics - ([8c1895f]https://github.com/lukehsiao/git-stats/commit/8c1895ffaaa5df998dd2b6635b8c9f221c11747a) - Luke Hsiao

---

## [0.1.9]https://github.com/lukehsiao/git-stats/compare/v0.1.8..v0.1.9 - 2024-01-18

### Documentation

- **(CHANGELOG)** add entry for v0.1.9 - ([cef37bf]https://github.com/lukehsiao/git-stats/commit/cef37bf01f3e7fccd659f00a897f0167ec93baee) - Luke Hsiao
- **(README)** link license badge to license - ([57d4d74]https://github.com/lukehsiao/git-stats/commit/57d4d744e9d21c1c05d30558203b71eed969d01d) - Luke Hsiao

---

## [0.1.8]https://github.com/lukehsiao/git-stats/compare/v0.1.7..v0.1.8 - 2023-06-26

### Documentation

- **(CHANGELOG)** add entry for v0.1.8 - ([b298900]https://github.com/lukehsiao/git-stats/commit/b2989006db4f8c3dc693b87482ed5af9986ffa10) - Luke Hsiao
- **(README)** add badges - ([ab759f7]https://github.com/lukehsiao/git-stats/commit/ab759f794b4c9be75f08b8b927c37e2f00f8d3e2) - Luke Hsiao

---

## [0.1.7]https://github.com/lukehsiao/git-stats/compare/v0.1.6..v0.1.7 - 2023-04-05

### Documentation

- **(CHANGELOG)** add entry for v0.1.7 - ([6b22fac]https://github.com/lukehsiao/git-stats/commit/6b22fac18520ebaa087c5b5457bce12d9ac83bdd) - Luke Hsiao
- **(README)** update readme to include reviewed/tested - ([4f5d386]https://github.com/lukehsiao/git-stats/commit/4f5d386b1b60709b85e8324fae3fcc797afcb3a0) - Luke Hsiao

### Refactor

- gate reviewer/tester stats behind flag - ([328a600]https://github.com/lukehsiao/git-stats/commit/328a60091795562e4624362de3a1f5eec2bea3b4) - Luke Hsiao

---

## [0.1.6]https://github.com/lukehsiao/git-stats/compare/v0.1.5..v0.1.6 - 2023-01-21

### Documentation

- **(CHANGELOG)** add entry for v0.1.6 - ([d367168]https://github.com/lukehsiao/git-stats/commit/d3671684dcb813c5f02505eb78533b170136acb7) - Luke Hsiao

### Features

- output reviewer/tests and commit counts - ([885334d]https://github.com/lukehsiao/git-stats/commit/885334d46c2c5686fcc0f81d4c1265f884eca68b) - Luke Hsiao

### Refactor

- add `Δ` in the `Net` column header - ([6369d04]https://github.com/lukehsiao/git-stats/commit/6369d04eb0737aa063b15fb461b6885c6d980591) - Luke Hsiao

---

## [0.1.5]https://github.com/lukehsiao/git-stats/compare/v0.1.4..v0.1.5 - 2022-11-23

### Documentation

- **(CHANGELOG)** add entry for v0.1.5 - ([c4dca25]https://github.com/lukehsiao/git-stats/commit/c4dca255a8f1b0ff1f40352b7851bd9787edbc90) - Luke Hsiao
- **(README)** update usage example - ([74b148a]https://github.com/lukehsiao/git-stats/commit/74b148af9bd3b2029bf009e794bc575dcb502371) - Luke Hsiao

### Features

- add net change column to output - ([a90377a]https://github.com/lukehsiao/git-stats/commit/a90377a537644b07ba689e7d7f9579d8120f7916) - Luke Hsiao

---

## [0.1.4]https://github.com/lukehsiao/git-stats/compare/v0.1.3..v0.1.4 - 2022-10-29

### Documentation

- **(CHANGELOG)** add entry for v0.1.4 - ([c887a0c]https://github.com/lukehsiao/git-stats/commit/c887a0c04db89d75c197a64f02b784f8939d2bcb) - Luke Hsiao
- **(README)** note the `git` dependency - ([7fc2765]https://github.com/lukehsiao/git-stats/commit/7fc27656a9cb618fca6580d460c2c23d9eb25a73) - Luke Hsiao

### Refactor

- remove unused verbosity flag and deps - ([b5de2e3]https://github.com/lukehsiao/git-stats/commit/b5de2e354c3de6836fdecbb40839bd5be61ccff1) - Luke Hsiao

---

## [0.1.3]https://github.com/lukehsiao/git-stats/compare/v0.1.2..v0.1.3 - 2022-10-29

### Documentation

- **(CHANGELOG)** add entry for v0.1.3 - ([11879c9]https://github.com/lukehsiao/git-stats/commit/11879c9e75a3e4bd07954386aab270119da97f19) - Luke Hsiao

### Features

- add email option for including author email addresses - ([efe5c79]https://github.com/lukehsiao/git-stats/commit/efe5c7942797c62aa518aef7f56d6a9f48c817dd) - Luke Hsiao

### Refactor

- drop raw stats from verbose logs - ([267a28f]https://github.com/lukehsiao/git-stats/commit/267a28fe590549069c1b3f396fdbde9b243d84da) - Luke Hsiao
- improve help text for revision-range, default to HEAD - ([6bf71a0]https://github.com/lukehsiao/git-stats/commit/6bf71a03099a489e71acc27e60b918087f6a6ab4) - Luke Hsiao

---

## [0.1.2]https://github.com/lukehsiao/git-stats/compare/v0.1.1..v0.1.2 - 2022-10-27

### Documentation

- **(CHANGELOG)** add entry for v0.1.2 - ([079fd69]https://github.com/lukehsiao/git-stats/commit/079fd6984e487f94f1a295eeed61c77ec9ed3064) - Luke Hsiao

### Performance

- parallelize stat collection with rayon - ([e6783b4]https://github.com/lukehsiao/git-stats/commit/e6783b458920d64fd18a5062fe545970f76ae765) - Luke Hsiao

---

## [0.1.1]https://github.com/lukehsiao/git-stats/compare/v0.1.0..v0.1.1 - 2022-10-26

### Bug Fixes

- interpret author literally, not as regex - ([c03d158]https://github.com/lukehsiao/git-stats/commit/c03d1589bd7901091b90d2854256e37fd0578f05) - Luke Hsiao

### Documentation

- **(CHANGELOG)** add entry for v0.1.1 - ([a204b5e]https://github.com/lukehsiao/git-stats/commit/a204b5e4e8c80dbafb03c462a34dc34d13c21baf) - Luke Hsiao

---

## [0.1.0] - 2022-10-26

### Features

- initial implementation - ([68b516c]https://github.com/lukehsiao/git-stats/commit/68b516cd46b011af8cbba2c63a5b0c50b60bdaa8) - Luke Hsiao