feat/rust-rewrite #1

Merged
dxsk merged 6 commits from feat/rust-rewrite into main 2026-10-07 08:44:19 +02:00
Owner
No description provided.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The bash script needed bash, jq and fzf, which made Windows support
painful. The new binary only needs git at runtime and keeps the same
identities.json format and the old --list/--current/--unset/--hook flags.

- built-in fuzzy picker instead of fzf, JSON parsing instead of jq
- config defaults to %APPDATA% on Windows, ~/.config elsewhere
- new commands: use, auto, add, remove, init, path, version
- shortcuts: ls, sw/switch, cur/whoami, new/append, rm, h
- add/remove keep unknown fields in the config file
- release profile tuned for size, static CRT on Windows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
install.sh downloads the release archive for the current platform and
checks it against SHA256SUMS before installing.

The NSIS installer installs per user without admin rights, adds itself
to the user PATH (keeping REG_EXPAND_SZ entries intact and restoring
the exact value on uninstall) and registers an uninstaller.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Forgejo runs lint and tests on every push, and on a v* tag cross-compiles
Linux x86_64/aarch64 and Windows x86_64 plus the installer from a single
Linux runner. The GitHub mirror tests on Linux, macOS and Windows and
builds the full release matrix.

Releases ship SHA256SUMS for the downloads and SHA256SUMS-binaries for
the binary inside each archive.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ci: replace release-please with tag-driven releases
All checks were successful
CI / check (pull_request) Successful in 53s
a8b2ef74aa
release-please commits to GitHub, which the Forgejo push mirror would
overwrite. Releases are now cut on Forgejo with `make release V=x.y.z`
and started by pushing the tag; the mirror carries it to GitHub.

- both release workflows check the tag against Cargo.toml
- the GitHub release is created once before the build matrix
- Forgejo jobs run on the ubuntu-latest runner
- CHANGELOG.md is now maintained by hand under "Unreleased"
- README links the Forgejo repository and documents the release steps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dxsk self-assigned this 2026-10-07 08:43:52 +02:00
dxsk merged commit 0d1aeae9ff into main 2026-10-07 08:44:19 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
dxsk/git-identity-manager!1
No description provided.