Ownership is measured by how many commits each author made to each file. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated.
Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.
| File | Sole owner | Commits |
|---|---|---|
| statgit | Heikki Hokkanen | 44 |
| README.md | Xianpeng Shen | 36 |
| pyproject.toml | Xianpeng Shen | 20 |
| .gitignore | Xianpeng Shen | 16 |
| .github/workflows/preview.yml | Xianpeng Shen | 15 |
| TODO.txt | Heikki Hokkanen | 15 |
| gitstats/gitstats.css | Xianpeng Shen | 13 |
| tests/test_main.py | Xianpeng Shen | 11 |
| .github/workflows/pre-commit.yml | Xianpeng Shen | 8 |
| .readthedocs.yaml | Xianpeng Shen | 8 |
| tests/test_report_creator.py | Xianpeng Shen | 7 |
| docs/source/index.rst | Xianpeng Shen | 7 |
| statgit.css | Heikki Hokkanen | 7 |
| tests/conftest.py | Xianpeng Shen | 6 |
| .github/workflows/publish-image.yml | Xianpeng Shen | 6 |
| docs/source/getting-started.rst | Xianpeng Shen | 5 |
| docs/source/installation.rst | Xianpeng Shen | 5 |
| docs/requirements.txt | Xianpeng Shen | 5 |
| .github/workflows/examples.yml | Xianpeng Shen | 4 |
| uv.lock | Xianpeng Shen | 4 |
| tests/test_init.py | Xianpeng Shen | 4 |
| gitstats/ai_summarizer.py | Xianpeng Shen | 4 |
| CLAUDE.md | Xianpeng Shen | 4 |
| docs/source/logo.png | Xianpeng Shen | 4 |
| .gitpod.yml | Xianpeng Shen | 4 |
| docs/source/contributors.rst | Xianpeng Shen | 4 |
| docs/conf.py | Xianpeng Shen | 4 |
| doc/license | Heikki Hokkanen | 4 |
| doc/author.txt | Heikki Hokkanen | 4 |
| .github/workflows/remove-preview.yml | Xianpeng Shen | 3 |
| .github/workflows/docs-preview.yml | Xianpeng Shen | 3 |
| LICENSE | Xianpeng Shen | 3 |
| docs/index.rst | Xianpeng Shen | 3 |
| docs/AUTHOR.md | Xianpeng Shen | 3 |
| docs/TODO.md | Xianpeng Shen | 3 |
| gitstats/aggregate.py | Xianpeng Shen | 2 |
| tests/test_aggregate.py | Xianpeng Shen | 2 |
| tests/test_utils.py | Xianpeng Shen | 2 |
| scripts/generate_gallery_index.py | Xianpeng Shen | 2 |
| docs/source/conf.py | Xianpeng Shen | 2 |
| gitstats/ai_providers.py | Xianpeng Shen | 2 |
| .github/release-drafter.yml | Xianpeng Shen | 2 |
| .vscode/launch.json | Xianpeng Shen | 2 |
| docs/source/TODO.md | Xianpeng Shen | 2 |
| docs/source/usage.rst | Xianpeng Shen | 2 |
| .github/workflows/deploy.yml | Xianpeng Shen | 2 |
| .mailmap | Xianpeng Shen | 2 |
| .github/dependabot.yml | Xianpeng Shen | 2 |
| docs/source/copyright.rst | Xianpeng Shen | 2 |
| docs/source/example.rst | Xianpeng Shen | 2 |
Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.
| Author | Files owned | Solely owned | Files touched |
|---|---|---|---|
| Xianpeng Shen | 93 | 70 | 100 |
| Heikki Hokkanen | 16 | 11 | 20 |
| Tobias Gruetzmacher | 4 | 3 | 6 |
| Copilot | 1 | 1 | 14 |
| tomatotomata | 1 | 0 | 5 |
| harsh8968 | 1 | 0 | 1 |
| Joe Bordes | 0 | 0 | 5 |
| Alexander Strasser | 0 | 0 | 2 |
| Jani Hur | 0 | 0 | 2 |
| Sven van Haastregt | 0 | 0 | 2 |
| Pinhong Ma | 0 | 0 | 1 |
| Joaquin Bravo Contreras | 0 | 0 | 1 |
| LiJohnson | 0 | 0 | 1 |
| Andrew Lazarus | 0 | 0 | 1 |
| Pekka Enberg | 0 | 0 | 1 |
| Craig R. Hughes | 0 | 0 | 1 |
| Stephan Kuschel | 0 | 0 | 1 |
| Stephen Gordon | 0 | 0 | 1 |
| Diomidis Spinellis | 0 | 0 | 1 |
| Sylvain Joyeux | 0 | 0 | 1 |
| Jan Pieper | 0 | 0 | 1 |
| Richard Russon (flatcap) | 0 | 0 | 1 |
| Andreas Motl | 0 | 0 | 1 |
| Andrey Devyatkin | 0 | 0 | 1 |
| Ernesto JimΓ©nez | 0 | 0 | 1 |
Files touched by the most people β shared code where changes are most likely to need coordination.
| File | Contributors | Primary owner | Owner share |
|---|---|---|---|
| gitstats | 28 | Heikki Hokkanen | 72.3% |
| gitstats/report_creator.py | 4 | Xianpeng Shen | 90.0% |
| Makefile | 4 | Xianpeng Shen | 52.6% |
| doc/gitstats.pod | 4 | Heikki Hokkanen | 54.5% |
| gitstats/main.py | 3 | Xianpeng Shen | 92.7% |
| .github/workflows/test.yml | 3 | Xianpeng Shen | 88.9% |
| gitstats/__init__.py | 3 | Xianpeng Shen | 87.5% |
| .github/workflows/pages.yml | 3 | Xianpeng Shen | 60.0% |
| doc/AUTHOR | 3 | Xianpeng Shen | 50.0% |
| doc/TODO.txt | 2 | Heikki Hokkanen | 97.8% |
| README.rst | 2 | Xianpeng Shen | 96.3% |
| gitstats/utils.py | 2 | Xianpeng Shen | 94.7% |
| gitstats.css | 2 | Heikki Hokkanen | 84.6% |
| noxfile.py | 2 | Xianpeng Shen | 90.9% |
| Dockerfile | 2 | Xianpeng Shen | 90.9% |
| doc/README | 2 | Heikki Hokkanen | 81.8% |
| docs/source/configuration.rst | 2 | Xianpeng Shen | 85.7% |
| gitstats.conf | 2 | Xianpeng Shen | 85.7% |
| .github/workflows/gallery.yml | 2 | Xianpeng Shen | 85.7% |
| .pre-commit-config.yaml | 2 | Xianpeng Shen | 85.7% |