Repository navigation
Commit 95cf3e5
feat(gix): list worktree metadata natively
Build the managed porcelain inventory from native main/linked repositories,
including branch, detached, unborn and lock metadata. Keep prunable entries on
Git for its diagnostics.
Support worktrees of bare main repositories using Gix's actual worktree path.
`Repository.is_bare()` intentionally reflects configuration and can be true
alongside a linked worktree. A record is bare only when that configuration has
no native worktree. The available metadata is sufficient; no upstream
classification fix or Python filesystem inference is needed.
Gix's `main_repo()` can retain `worktrees/linked/../..` in its Git-directory
path. Reopen that repository through Gix on a canonical input path, preserving
its native open options, instead of returning repaired metadata. This helper
can also handle gitfile targets. The SHA-1/SHA-256 regression compares locked,
unborn linked worktree inventories from both main and linked repositories.
Each supported inventory now avoids one CLI launch, including bare-main
inventories that previously required one. The regression forbids CLI execution
after setup and executable validation.
Validation: worktree/reftable/extension selection passed with Gix first
(10 passed, 1 skipped in 2.97s), then CLI (4 passed, 2 skipped in 2.47s).
Ruff lint/format and `git diff --check` passed.1 parent a7d813e commit 95cf3e5
2 files changed
Lines changed: 54 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
93 | 100 | | |
94 | 101 | | |
95 | 102 | | |
| |||
206 | 213 | | |
207 | 214 | | |
208 | 215 | | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
209 | 249 | | |
210 | 250 | | |
211 | 251 | | |
212 | 252 | | |
213 | 253 | | |
214 | 254 | | |
| 255 | + | |
215 | 256 | | |
216 | 257 | | |
217 | 258 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
44 | 57 | | |
45 | 58 | | |
46 | 59 | | |
| |||
0 commit comments