Skip to content

Commit a20afa2

Browse files
codexByron
authored andcommitted
docs(gix): document release setup and native conversion gaps
Add installation, validation and coverage guidance for the official `GixPython==0.1.0` release, using existing interpreters and separate CLI/native environments. Record upstream requirements with concrete native/Git evidence. Distinguish available APIs from remaining compatibility gaps. Native config identifies reference storage and reftable `HEAD` reads report unsupported storage, but complete repository-extension validation still requires Git. Gix already exposes linked worktrees of bare main repositories; its documented `is_bare()` is a configuration flag, not absence of a worktree. Record the actual dangling-`commondir` and flattened-error issues instead. Document the missing cheap independent repository clone for per-command native identity overrides. Ref edits already accept explicit `LogChange` messages; the missing operation is native Git-compatible whitespace cleanup, alongside separate HEAD/reflog transaction differences. Keep those fallbacks and the prohibition on independent Python implementations of Git semantics. Preserve historical wheel validation, full-suite measurements and future fixture/state optimization notes with their original revisions and scope. They are historical observations, not validation of later rewritten trees. Validation: reviewed the supplied Git/GixPython sources and direct official GixPython 0.1.0 probes, checked the ledger against the passing native/CLI regressions, and ran `git diff --check`. This documentation amendment changes CLI launches by zero. Correct the README introduction to name the released GixPython 0.2.0 distribution and explicit backend selection. Explain that fixture testing requires GixPython and Python 3.11+ even for the CLI backend, and link the setup and compatibility documentation. Whitespace checks passed. Align the original setup guide with GixPython 0.2.0 and explicit backend selection in both prepared environments. Preserve historical compatibility evidence separately from current installation instructions. Whitespace checks passed; the completed documentation build passed with warnings fatal.
1 parent 4d6ae91 commit a20afa2

3 files changed

Lines changed: 329 additions & 3 deletions

File tree

‎README.md‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ probably the skills to scratch that itch of mine: implement `git` in a way that
1717
If you like the idea and want to learn more, please head over to [gitoxide](https://github.com/Byron/gitoxide), an
1818
implementation of 'git' in [Rust](https://www.rust-lang.org).
1919

20-
*(Please note that `gitoxide` is not currently available for use in Python, and that Rust is required.)*
20+
The experimental `GitPython[gix]` extra uses GixPython 0.2.0 from PyPI for
21+
supported operations, with Git CLI fallback. Set `GIT_PYTHON_BACKEND=cli` or
22+
`gix` to select the backend explicitly. Tests use `gix.testtools` for scripted
23+
fixtures with either backend and require Python 3.11+. See the
24+
[installation, test commands, and conversion ledger](doc/gix-backend.md).
2125

2226
## GitPython
2327

0 commit comments

Comments
 (0)