これは旧バージョンです。最新版は0.13.0です。 Gitmun 0.13.0 · リリース日:
インストーラーファイル 0.9.0
| アーキテクチャ | 種類 | インストール範囲 | ファイルサイズ | ダウンロード | SHA256 |
|---|---|---|---|---|---|
| 64ビット | EXE(NSIS) | 現在のユーザー | — | github.com | VirusTotal |
| 64ビット | MSI | すべてのユーザー | — | github.com | VirusTotal |
リンクとSHA256はWindows Package Managerのコミュニティマニフェストから取得しています。実行する前に、ダウンロードしたファイルのハッシュを照合してください。
リリースノート
What's New
Commit patch export
- New backend and command export_commit_patch_file to export patches built from one or more commits
- Export supports selecting multiple commits and writes an aggregated patch (oldest → newest)
- Root (initial) commits are handled correctly and produce new-file hunks
- Exports include full index object IDs (--full-index) and binary diffs for accurate round-trip application
- CLI and gix backends return the same patch output
Commit message recovery
- New API get_commit_message_recovery and TypeScript type CommitMessageRecovery
- Reads the repository COMMIT_EDITMSG file and returns a cleaned message and timestamp when a draft exists
- UI now offers a “Restore previous message” action when no draft is present and a recoverable edit message exists
- Commit box will clear saved drafts after a successful commit and preserve them after failures
SSH signing / allowed signers support
- New SSH allowed-signers status API get_ssh_allowed_signer_status and operation add_ssh_signing_key_to_allowed_signers
- CLI and gix backends inspect user.signingkey, user.email, and gpg.ssh.allowedSignersFile to determine:
- whether setup is needed
- whether the allowed signers file is configured / exists
- whether the signing key is present and trusted
- New types SshAllowedSignerStatus and SshAllowedSignerReason
- UI repair flows:
- Log/signature popover can show instructions and add the configured SSH signing key to the allowed signers file
- Identity panel surfaces allowed-signers state and lets users add the configured signing key
- Tests for status, adding keys, and edge cases (inline key, private key paired pub file, missing email, configured-but-missing-file)
Patch import: safer 3-way apply and conflict handling
- Import now supports three-way apply via ImportPatchRequest.three_way
- Three-way apply is used as a retry path when normal git apply --binary fails
- Three-way apply blocks when tracked files are dirty and will return a clear error code when blocked
- Conflict results from 3-way apply are returned as an operation result (so the UI can route to conflict resolution)
- Tests covering three-way conflicts, blocked conditions, and partial/no-blob patches
File tree, unversioned items and staging improvements
- New unversioned “items” representation with file vs directory kinds (shows directories like assets/)
- Untracked directory rows can be selected and staged as a unit
- File tree compaction and default expand/collapse heuristics for large sections:
- Avoid expanding huge folders by default; allow manual expansion
- Selecting a compacted folder selects its descendants
- Large root-level lists are virtualized to keep UI responsive and allow scrolling to later rows
- Folder rows show "new" badge for directories introduced by the patch/untracked content
- Better handling of submodules in status and unversioned item filtering
Staging and operation feedback
- Introduced delayed operation feedback:
- Inline small banner after 500ms for quick operations
- Popup status overlay after 2500ms for long-running operations
- Staging operations (stage/unstage/all) are tracked with an operation lock so bulk actions are disabled while busy
- Visual inline feedback for staging operations in both staging view and centre panel
- Staging UI: selection, bulk actions, and virtualized lists handle large selections and files with spaces robustly
Commit box and draft UX
- Commit message drafts are saved per-repository while typing and restored on revisit
- Merge messages and amend interplay handled correctly (merge messages not overwritten by drafts)
- Offer to restore COMMIT_EDITMSG content when no local draft exists (and it's different from the latest commit message)
- Commit API updated to allow async result (commit handler can return false to indicate failure and keep draft)
- Clear drafts only on confirmed successful commit
Log and refs UI improvements
- Commit ref chips layout refined:
- Prominent ref line for selected/checkout commits, inline meta refs for others
- Priority ordering of refs (HEAD, local branches, upstream, remotes, tags)
- Overflow handling with descriptive “N more refs” tooltips
- Signature popover:
- Copy actions for signer and fingerprint
- Repair flow button for SSH signing (adds configured key to allowed signers if available)
- Explanatory text for SSH allowed-signers status
- Context menu additions: export commit patch(s) from a single commit or a multi-selection
API, TypeScript and wiring
- New API endpoints and TypeScript functions:
- exportCommitPatchFile / exportCommitPatchFile TS binding
- getCommitMessageRecovery TS binding
- getSshAllowedSignerStatus and addSshSigningKeyToAllowedSigners TS bindings
- openMicrosoftStoreUpdatePage replaces older request method for MS Store flow
- Backend: many repo command functions made async / moved to background threads to avoid blocking the Tauri main thread (e.g., commit_changes, stage_files, unstage_*, stage_all)
- New internal CLI handler helpers for:
- resolving SSH signing keys (supports inline key:: prefix, file, or key.pub suffix)
- default and resolved allowed signers paths
- robust commit-hash validation and building commit-based patches
- safer three-way patch apply with status inspection
- full-index patch generation for single-commit export
Configuration & migration
- Removed or ignored legacy enableUpdateWithMSStoreFlow manual config keys during migration; config persists but the old key is ignored in the new config shape
- New settings types and defaults updated to reflect store flow changes
Microsoft Store / update flow
- Microsoft Store update flow simplified:
- New action opens the Microsoft Store update page (open_microsoft_store_update_page) instead of attempting a direct in-process Store install
- Local test harness simplified to three modes (available / mandatory / none)
- Update dialog copy and state reflect “Store opened” and the new open-flow states
Tests and quality
- Large suite updates and new tests:
- CLI and gix handler behaviour (export/import/ssh allowed signers, commit recovery)
- Staging view virtualization, large-list behaviour, compact folder selection, inline feedback timing
- Commit box draft saving, recovery, and commit-clear behaviour
- Identity panel allowed-signers repair flow and prompts
- Log view: ref layout, signature repair flow, export commit patches
Fixes
- Patch export now includes full-index object IDs for accurate patches suitable for three-way application
- Fixed multiple UI race conditions and long-running work on the UI thread by moving heavy operations to background threads
- Fixed unversioned paths handling to show directory entries and avoid losing folder selections
- Improved detection and filtering of submodule entries from unversioned lists and repo status
- Fixed staging selection and bulk operations to disable during active staging operations
- Fixed commit draft lifecycle and ensured drafts are preserved after failed commits and cleared on success
- Fixed signature popover copying and improved repair UX for SSH signing keys
- Fixed Microsoft Store update flow to avoid unsupported in-process flows and present the Store page cleanly
- Fixed a number of edge-case patch import and three-way-apply failure modes with clearer error codes
- Various test fixes and added coverage for new features and regression scenarios
Full Changelog: v0.8.1...v0.9.0