Repository navigation
Commit fc02a24
feat(gix): resolve revisions and repository metadata natively
Handle verified revisions and repository metadata exposed by GixPython.
Keep Git's initial repository validation and unsupported discovery options.
Message searches, dirty suffixes and describe-shaped names fall back because
the native grammar differs in regex handling and exact-tag precedence
(`GIX-14`/`GIX-17`).
GixPython's native configuration identifies `extensions.refStorage`; accessing
`HEAD` in either a SHA-1 or SHA-256 reftable repository raises `gix.Error` with
an unsupported-storage cause. The bindings currently flatten the native error
kind. Add a direct regression for this signal, without manufacturing an
`Unsupported` exception in Python.
Keep `rev-parse --show-ref-format` on Git because it also validates repository
extensions. Even with strict configuration and trust options, Gix accepts an
unknown version-1 extension and successfully reads `HEAD` where Git rejects the
repository. Add that regression too. A reference-format getter is not the
prerequisite: compatible extension validation is. The remaining query costs one
CLI invocation after wrapper initialization; this amendment does not reduce it.
Validation: affected backend and revision tests passed with Gix first
(30 passed in 20.22s), then CLI (22 passed, 1 skipped in 21.26s).
Ruff lint/format and `git diff --check` passed.1 parent e005af3 commit fc02a24
2 files changed
Lines changed: 47 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
128 | 150 | | |
129 | 151 | | |
130 | 152 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
21 | 43 | | |
22 | 44 | | |
23 | 45 | | |
| |||
30 | 52 | | |
31 | 53 | | |
32 | 54 | | |
33 | | - | |
| 55 | + | |
| 56 | + | |
34 | 57 | | |
35 | 58 | | |
36 | 59 | | |
| |||
0 commit comments