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>
14 lines
620 B
XML
14 lines
620 B
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<module external.system.id="pyproject.toml" type="PYTHON_MODULE" version="4">
|
|
<component name="NewModuleRootManager">
|
|
<content url="file://$MODULE_DIR$">
|
|
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
|
</content>
|
|
<orderEntry type="jdk" jdkName="~/PycharmProjects/python-git/.venv" jdkType="Python SDK" />
|
|
<orderEntry type="sourceFolder" forTests="false" />
|
|
</component>
|
|
<component name="PackageRequirementsSettings" />
|
|
<component name="PyDocumentationSettings" />
|
|
<component name="ReSTService" />
|
|
<component name="TestRunnerService" />
|
|
</module> |