FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

docs: record the next 30 GitPython dependent audits · gitpython-developers/GitPython@15f7696 · GitHub

Repository navigation

Commit 15f7696

Browse files
authored andcommitted
docs: record the next 30 GitPython dependent audits
Extend the prior 31-project audit with the next 30 declared GitPython consumers ranked by the same September 2026 PyPI snapshot. Inspect another 5,500 package metadata records, download released sources or verified official archives, and assign every dependent its own subagent task. Commit the release, selection, command, editable-import, result and coverage evidence in a durable Markdown report and JSON manifest; retain third-party sources, environments, logs, XML and supplemental runners in the ignored audit cache. The final selections record 1,172 upstream passes, 177 supplemental passes, 21 failures and six skips per backend. Distinguish real GitPython callers from upstream mocks, pygit2, subprocess-only cases, isolated unchanged AST helpers, closed-source binary helpers and unused dependency declarations. Four fixes were committed separately: the managed `GitDB` selector alias, local tracking resolution, revision root-tree/path diagnostics, and explicit literal-path constructor compatibility. Preserve five sbxloop compatibility failures absent with released GitPython 3.2.1: its `config_reader()` subclass override no longer controls native repository discovery. Document the breaking constructor contract, observed Git/Gix validation and missing GixPython include-suppression capability rather than bypassing validation or rebuilding Git discovery in Python. Classify other failures separately: Plato's unsafe-option omission, SDMX refresh logic, ComfyUI test defects, sbxloop's eight fixed-PATH LFS fixture failures, inherited submodule assertion, and bounded wrong-token LFS timeout. Read-only index mapping mutation and automatic environment expansion remain unsupported. Full GitPython suites pass after all four production fixes: CLI 1,825 passed, 162 skipped and one xfail; Gix 1,927 passed, 60 skipped and one xfail; each has 59 passing subtests. Supplying the cached official GixPython release wheel resolves an earlier installation-test disk-quota failure. Focused regressions, lint/format, relevant type/fixture checks and local review of the last two fixes passed. Verify all 30 unique selections, retained archive hashes, source/import proofs, manifest counts, report links and `git diff --check`. Link both audit batches from the downstream README. No sources or test expectations upstream were changed, and no push or PR is included.
1 parent dd42b96 commit 15f7696

6 files changed

Lines changed: 7129 additions & 0 deletions

File tree

‎doc/gix-backend.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,24 @@ variables literal; `expand_vars=True` is unsupported. Callers wanting expansion
5151
must perform it before passing the path. Discovery still uses Gix/Git after
5252
ordinary input-path canonicalization.
5353

54+
Repository construction validates storage and configuration through Gix/Git;
55+
overriding `Repo.config_reader()` does not replace that native discovery parser.
56+
sbxloop 2.1.36's `_MetadataRepo` subclass relied on the released constructor's
57+
permissive Python discovery and overridden no-includes reader. Five upstream
58+
tests still differ: malformed includes prevent opening, malformed local config
59+
is rejected before its custom `ProvisionError`, and version-0 repositories
60+
with version-1 storage extensions are rejected before its format check. Released
61+
GitPython 3.2.1 passes those five tests. This is a breaking subclass contract,
62+
not a demonstrated Gix-versus-Git mismatch: both backends reject the metadata.
63+
GixPython `OpenOptions` has strict/lossy configuration controls and overrides,
64+
but no supported option to open a repository while omitting its local include
65+
graph. A replacement must expose separately controlled metadata discovery and
66+
literal local configuration access with Git-compatible format validation.
67+
Do not bypass validation or reconstruct discovery/storage in Python to restore
68+
the old constructor. Downstream must construct its trusted metadata view before
69+
opening it with `Repo`, and handle native discovery errors explicitly; its
70+
original tests remain failed in the audit.
71+
5472
`git.GitDB` and `git.db.GitDB` remain compatibility aliases for
5573
`GitCmdObjectDB`, so legacy `Repo(..., odbt=GitDB)` selectors use the same
5674
managed backend. Aider 0.86.2 uses that selector for every repository open.

‎doc/source/changes.rst‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ Git executable and safety
5151
API changes
5252
-----------
5353

54+
* ``Repo`` construction validates repository configuration through Git/Gix.
55+
A subclass override of ``config_reader()`` no longer controls discovery or
56+
suppresses its include graph. Malformed configuration and invalid repository
57+
extensions can fail before downstream custom validation runs. sbxloop's
58+
metadata-reader subclass exposes this remaining compatibility break; callers
59+
must prepare their trusted metadata view before opening it with ``Repo``.
5460
* Revision root trees such as ``Repo.rev_parse("HEAD:")`` retain their empty
5561
path and can be iterated. Missing paths within a valid tree revision retain
5662
``Tree.join()``'s ``KeyError`` and missing-component message, restoring MCP

‎test/downstream/README.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ runtime, development and documentation users. Its [manifest](audit-2026-10-22.js
55
records releases, source hashes, commands, results and coverage limits. The runner
66
below automates five CI profiles; it is not the complete audit inventory.
77

8+
The [second 30-project batch](audit-2026-10-22-batch-2.md) brings the total to
9+
61 processed projects, with four further local fixes and explicitly retained
10+
compatibility, downstream and harness failures. Its
11+
[manifest](audit-2026-10-22-batch-2.json) records the next popularity-ranked
12+
selection and results on both backends.
13+
814
Run released projects' GitPython-related tests against this checkout with
915
[uv](https://docs.astral.sh/uv/) and Git 2.52 or newer:
1016

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL