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

+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="~/PycharmProjects/python-git/.venv" project-jdk-type="Python SDK" />
</project>