| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 3640db4 commit 46303c8
11 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 | |
|---|---|---|---|
@@ -61,6 +61,12 @@ API changes | |||
| 61 | 61 | * Editable/source imports expose the release version in ``git.__version__``, | |
| 62 | 62 | matching built distributions. Salt's GitPython provider checks can parse the | |
| 63 | 63 | version instead of rejecting the unstamped ``"git"`` build placeholder. | |
| 64 | + * ``Repo`` construction validates repository configuration through Git/Gix. | ||
| 65 | + A subclass override of ``config_reader()`` no longer controls discovery or | ||
| 66 | + suppresses its include graph. Malformed configuration and invalid repository | ||
| 67 | + extensions can fail before downstream custom validation runs. sbxloop's | ||
| 68 | + metadata-reader subclass exposes this remaining compatibility break; callers | ||
| 69 | + must prepare their trusted metadata view before opening it with ``Repo``. | ||
| 64 | 70 | * Revision root trees such as ``Repo.rev_parse("HEAD:")`` retain their empty | |
| 65 | 71 | path and can be iterated. Missing paths within a valid tree revision retain | |
| 66 | 72 | ``Tree.join()``'s ``KeyError`` and missing-component message, restoring MCP | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,5 +1,31 @@ | |||
| 1 | 1 | # Downstream compatibility | |
| 2 | 2 | ||
| 3 | + The [2026-10-22 audit](audit-2026-10-22.md) covers 31 projects, including major | ||
| 4 | + runtime, development and documentation users. Its [manifest](audit-2026-10-22.json) | ||
| 5 | + records releases, source hashes, commands, results and coverage limits. The runner | ||
| 6 | + below automates five CI profiles; it is not the complete audit inventory. | ||
| 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 | + | ||
| 14 | + The [third 39-project batch](audit-2026-10-22-batch-3.md) brings the audit to | ||
| 15 | + 100 distinct projects. It records further local compatibility fixes, three | ||
| 16 | + remaining Kas configuration API failures, and failures inherited from released | ||
| 17 | + GitPython. Its [manifest](audit-2026-10-22-batch-3.json) includes verified release | ||
| 18 | + archives, commands, import proofs and coverage limits. Additional selections are | ||
| 19 | + popularity-ranked; the original known-user additions mean this is a 100-project | ||
| 20 | + audit rather than a strict mathematical top 100. | ||
| 21 | + | ||
| 22 | + The [remaining 15-project batch](audit-2026-10-23-batch-4.md) brings the audit to | ||
| 23 | + 115 distinct projects and completes every identified current declared consumer | ||
| 24 | + in the September snapshot of the top 15,000 distributions. Its | ||
| 25 | + [manifest](audit-2026-10-23-batch-4.json) records released callers, tests, baseline | ||
| 26 | + comparisons and limits. This covers the identified distribution download weight; | ||
| 27 | + it does not attribute GitPython installs or imply complete application coverage. | ||
| 28 | + | ||
| 3 | 29 | Run released projects' GitPython-related tests against this checkout with | |
| 4 | 30 | [uv](https://docs.astral.sh/uv/) and Git 2.52 or newer: | |
| 5 | 31 | ||
@@ -35,19 +61,22 @@ settings, pytest options/plugins, and Python import paths are cleared before | |||
| 35 | 61 | setup and testing. Select a different Git executable by putting its directory | |
| 36 | 62 | first on `PATH`. | |
| 37 | 63 | ||
| 38 | - ## Selection and coverage | ||
| 64 | + ## Automated CI profiles | ||
| 39 | 65 | ||
| 40 | - The selection uses current runtime users, including optional end-user features, | ||
| 66 | + These five profiles use current runtime users, including optional end-user features, | ||
| 41 | 67 | ranked by September 2026 PyPI distribution downloads. Development, documentation, | |
| 42 | 68 | and test-only dependencies are excluded. Downloads are not unique installations. | |
| 43 | 69 | ||
| 44 | 70 | | Project | Distribution downloads | Last tested release | Selected coverage | | |
| 45 | 71 | | --- | ---: | --- | --- | | |
| 46 | 72 | | LangChain Community | 27,882,881 | 0.4.2 | 2 upstream GitLoader tests: real clones, commits, checkout, tree traversal, ignored paths, and remote validation | | |
| 47 | - | MLflow (`mlflow-skinny`) | 25,850,354 | 3.17.0 | 47 upstream tests: 31 repository/project/model-versioning cases plus 16 Git context and credential-redaction contract cases | | ||
| 73 | + | MLflow (`mlflow-skinny`) | 25,850,354 | 3.17.2 | 53 unique upstream repository/project/model-versioning, Git context and credential-redaction cases in the expanded audit | | ||
| 48 | 74 | | Bandit | 24,935,372 | 1.9.4 | 12 upstream baseline CLI tests: real repository creation, commits, branches, resets, discovery, and dirty state | | |
| 49 | 75 | | SWE-bench | 22,942,741 | 5.0.2 | 4 supplemental integration cases for `AutoContextManager`; no upstream tests cover its GitPython callers | | |
| 50 | - | DataHub (`acryl-datahub`) | 5,019,402 | 1.7.0.14 | 7 upstream tests passed, 1 credential-dependent skip: public clone/checkout, SSH timeout, exception/redaction contracts, and configuration | | ||
| 76 | + | DataHub (`acryl-datahub`) | 5,019,402 | 1.7.0.16 | 8 upstream tests passed, 1 credential-dependent skip: clone/checkout, SSH timeout, exception/redaction contracts, configuration and ODCS sourcing | | ||
| 77 | + | ||
| 78 | + The runner automates the original selections. The linked audit broadens MLflow | ||
| 79 | + with `tests/projects/test_utils.py` and DataHub with its ODCS Git sourcing test. | ||
| 51 | 80 | ||
| 52 | 81 | Source: [top-pypi-packages](https://hugovk.github.io/top-pypi-packages/top-pypi-packages.min.json), | |
| 53 | 82 | snapshot updated **2026-10-01 12:40:51 UTC**. Its | |
| Back | FazBrowse Home | New Git URL |
0 commit comments