feat(windows): add Git Log tool window - #109
Merged
1lck merged 15 commits intoAug 16, 2026
Merged
Conversation
…ispatcher - translate git_merge and git_rebase into git.write with qualified refs/heads references, mirroring the checkout translations - add git_integration_preflight, git_operation_state, git_operation_continue/abort/skip, and git_conflict_markers translations so the frontend can drive the shared core's conflict machinery
- map git.operationState responses into a UI-ready shape and collapse the no-operation case to null, matching the macOS model - pass through integration preflight blocking paths and conflict marker paths for the upcoming banner and commit guard
- add git-integration-api with preflight-first merge/rebase that distinguishes conflict stops from real failures via operation state - store operationState in the workspace git store and refresh it on every status pass so banner state stays true to the repository
- mirror the macOS banner: in-progress title, rebase step counters, conflict count, and Continue/Skip/Abort actions - keep Continue disabled while conflicts remain and re-run resolution through the shared core, refreshing state after every attempt
- add a per-branch action menu with Merge into Current Branch and Rebase Current Branch onto This behind one confirmation each - surface clean, conflict-stop, blocked-by-dirty, and failure outcomes with the shared core's preflight and operation state
- refuse to commit while the operation state still lists conflicted paths or staged files contain conflict markers, with the file names surfaced instead of Git's raw refusal
The action wrapper only stopped pointer-down propagation, so the click that opened the menu also bubbled to the row's checkout handler, which disabled the trigger and closed the menu instantly. Stop click propagation like the retired delete button did.
…menu Button wraps itself in a Tooltip component when given a tooltip prop, so Base UI's render prop attached the menu trigger handlers to the tooltip wrapper instead of the real button and clicks never opened the menu. Pass only aria-label, like the working diff header trigger.
yangboxuan726
force-pushed
the
codex/windows-git-log-tool-window
branch
from
August 16, 2026 09:26
99855b6 to
5e02ad7
Compare
# Conflicts: # windows/tauri/src/features/git/hooks/use-git-data-controller.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
功能
为 Windows 端增加独立的只读 Git Log 工具窗口,对齐 macOS 参考实现与 IntelliJ IDEA 的底部 Git 工具窗口交互。
Git按钮和 IntelliJ 风格Alt+9打开/收起快捷键截图
边界
验证
bun test: 52/52bun run typecheck: 通过scripts/verify-windows-boundaries.ps1: 通过scripts/build-windows.ps1 -Configuration Release: 通过cargo test --manifest-path windows/tauri/src-tauri/Cargo.toml: 27/27Alt+9、refs、graph、筛选、commit files/detail 和 Split Diff