Repository navigation
Commit 5cc196a
feat(gix): resolve supported committer identities through Gix
Use `Repository.committer()` for `GIT_COMMITTER_IDENT` and format the returned
native signature. Keep unsupported normalization, empty identities, and
per-command identity overrides on the CLI; Python must not fill missing fields
or manufacture a resolved identity.
Gix supports in-memory overrides for `committer.name`, `committer.email`, and
`gitoxide.commit.committerDate`. Applying them to the retained repository would
expose operation-specific identity to other threads. GixPython 0.1.0 binds no
cheap independent repository clone: `copy.copy` and `copy.deepcopy` raise
`TypeError`, while the binding's internal Rust `RepoHandle::clone()` shares its
`Arc` state. Upstream should bind an independent native clone, with isolated
configuration and native identity resolution (`GIX-21`). Reopening would isolate
state but repeats repository setup. Keep the existing fallback until this is
available; do not change the process environment or the shared snapshot.
A supported process/config identity avoids one CLI invocation. A command
override retains one. Native query parity uses a fixed process identity, and
regressions compare partial and complete overrides with Git. The reference
format query retains its repository-extension validation fallback (`GIX-1`).
Original validation: backend and commit tests passed with Gix first (65 passed
in 10.42s), then CLI (37 passed, 1 skipped in 10.97s), plus Ruff lint/format and
`git diff --check`. This follow-up only clarifies the commit message; direct
GixPython 0.1.0 probes verified native snapshot overrides and the absent copy API.1 parent 5d2344a commit 5cc196a
2 files changed
Lines changed: 68 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
628 | 628 | | |
629 | 629 | | |
630 | 630 | | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
631 | 651 | | |
632 | 652 | | |
633 | 653 | | |
| |||
667 | 687 | | |
668 | 688 | | |
669 | 689 | | |
| 690 | + | |
670 | 691 | | |
671 | 692 | | |
672 | 693 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
112 | 159 | | |
113 | 160 | | |
114 | 161 | | |
| |||
0 commit comments