You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 00ce1bf
Browse filesBrowse the repository at this point in the historyBrowse files
fix(repo): retain checkout context for separate Git directories
Mistral Vibe 3.0.1's two separate-directory worktree tests fail when
`Repo.init(..., separate_git_dir=...)` returns the administrative directory's
parent as `working_tree_dir`. Index staging then cannot find the files in the
requested checkout. Released GitPython 3.2.1 passes the same tests.
Distinguish a checkout's `.git` file from an arbitrary gitfile operand when
opening a discovery candidate. Reopen the canonical checkout gitfile through
`gix.open_opts()` and use its native `Repository.workdir()` result; reopening
only its administrative target discards the supplied checkout context. Keep
the existing canonical administrative reopen for standalone arbitrary-gitfile
helpers and their GIX-14 workaround. In the CLI path, ask Git for the top-level
directory from the supplied checkout instead of inferring it from metadata.
Document the adapter correction without closing upstream compatibility bugs.
Add a relocatable Bash fixture and staging/commit regression across SHA-1 and
SHA-256 with files and reftable references. All four regressions failed on
each backend before the change. Also execute linked-worktree regression
fixtures at their final location because their absolute registrations cannot
be safely copied between tests.
The repository and downstream regression suites passed 145 tests, two skips
and 14 subtests on CLI. Adding native/canonical gitfile tests passed 247 tests,
two skips and 14 subtests with Gix. Both original Mistral Vibe regressions
passed on each backend. Ruff lint/format, ShellCheck and mypy passed with
Python 3.12.15, Git 2.53.0 and GixPython 0.2.0. The remaining downstream bare
cleanup failure is a GC-timing assumption: both released and local GitPython
call `close()` from finalization, but at different times.
0 commit comments