| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent dd42b96 commit 15f7696
6 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -51,6 +51,24 @@ variables literal; `expand_vars=True` is unsupported. Callers wanting expansion | |||
| 51 | 51 | must perform it before passing the path. Discovery still uses Gix/Git after | |
| 52 | 52 | ordinary input-path canonicalization. | |
| 53 | 53 | ||
| 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 | + | ||
| 54 | 72 | `git.GitDB` and `git.db.GitDB` remain compatibility aliases for | |
| 55 | 73 | `GitCmdObjectDB`, so legacy `Repo(..., odbt=GitDB)` selectors use the same | |
| 56 | 74 | managed backend. Aider 0.86.2 uses that selector for every repository open. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -51,6 +51,12 @@ Git executable and safety | |||
| 51 | 51 | API changes | |
| 52 | 52 | ----------- | |
| 53 | 53 | ||
| 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``. | ||
| 54 | 60 | * Revision root trees such as ``Repo.rev_parse("HEAD:")`` retain their empty | |
| 55 | 61 | path and can be iterated. Missing paths within a valid tree revision retain | |
| 56 | 62 | ``Tree.join()``'s ``KeyError`` and missing-component message, restoring MCP | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -5,6 +5,12 @@ runtime, development and documentation users. Its [manifest](audit-2026-10-22.js | |||
| 5 | 5 | records releases, source hashes, commands, results and coverage limits. The runner | |
| 6 | 6 | below automates five CI profiles; it is not the complete audit inventory. | |
| 7 | 7 | ||
| 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 | + | ||
| 8 | 14 | Run released projects' GitPython-related tests against this checkout with | |
| 9 | 15 | [uv](https://docs.astral.sh/uv/) and Git 2.52 or newer: | |
| 10 | 16 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments