Repository navigation
Commit 3c58d29
fix(odb): restore the legacy
Aider-chat 0.86.2 opens every repository with `Repo(..., odbt=git.GitDB)`.
Removing that public name blocks all 21 unchanged upstream repository tests
with `AttributeError`, before diffs, commits, attribution or tracked-file
queries can run. The same full selection passes with released GitPython 3.2.1.
Aider uses the name only as a constructor selector and does not rely on gitdb's
Python storage implementation or specialized object-database methods.
Export `GitDB` from `git` and `git.db` as an alias for `GitCmdObjectDB`. Legacy
selectors now choose the same managed Git/Gix backend as the default, without
restoring independent Python object storage, widening accepted custom backend
types, or changing native/fallback decisions. Document that the selector survives
while the old implementation's specialized interfaces remain unsupported.
Add a regression across SHA-1/SHA-256 and files/reftable storage that verifies
both exports, repository construction and actual managed object header/stream
queries. All four cases fail before the alias. The regression plus adjacent
repository and safety suites pass 173 tests, two skips and 14 subtests on each
backend, CLI first. Aider's full 21-test repository suite now passes on both
backends against the editable checkout. Ruff lint/format, mypy for changed
production modules and `git diff --check` pass with Python 3.12.15, Git 2.53.0
and GixPython 0.2.0. The broader second downstream audit remains in progress.GitDB backend selector1 parent bc3ef09 commit 3c58d29
5 files changed
Lines changed: 39 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
48 | 56 | | |
49 | 57 | | |
50 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
146 | 147 | | |
147 | 148 | | |
148 | 149 | | |
149 | | - | |
| 150 | + | |
150 | 151 | | |
151 | 152 | | |
152 | 153 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
10 | 28 | | |
11 | 29 | | |
12 | 30 | | |
| |||
0 commit comments