Add python_git: a leak-safe GitPython alternative

Every git invocation runs through a single blocking subprocess.run
call in python_git/runner.py that always waits for the process to
exit and closes its pipes before returning, so there is no long-lived
Popen handle for a caller to forget to close (the root cause of
GitPython's known fd/process leaks).

Repo exposes status/log/diff/add/commit/push/pull/fetch, branch and
remote management, and clone, backed by dataclasses in models.py.
Covered by tests/test_repo.py, including an fd-count regression test.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
agentandClaude Sonnet 5 committed 2026-09-20 19:38:29 -04:00
commit ebe7ec6f4b
15 files changed
+527

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
__pycache__/
*.pyc
.pytest_cache/
.venv/
*.egg-info/