Skip to content

Show Git attribution in the editor#18

Merged
GordonBeeming merged 4 commits into
mainfrom
gb/use-gix-attribution
Jun 22, 2026
Merged

Show Git attribution in the editor#18
GordonBeeming merged 4 commits into
mainfrom
gb/use-gix-attribution

Conversation

@GordonBeeming

Copy link
Copy Markdown
Owner

Summary

  • Add gix-backed file and line attribution with clickable commit details.
  • Keep attribution visible while editing, including local unsaved and saved-uncommitted ghost text.
  • Add date format settings plus exact dependency pins and Dependabot cooldowns.

Test plan

  • ./run-tests.sh
  • Visual check for status bar and editor attribution states

Closes #8

@GordonBeeming GordonBeeming marked this pull request as ready for review June 21, 2026 23:48
Copilot AI review requested due to automatic review settings June 21, 2026 23:48

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request transitions the Git attribution service from shell-backed git commands to embedded gitoxide/gix APIs, and updates the frontend to display unsaved or uncommitted changes inline while keeping the last commit attribution visible. The review feedback focuses on performance and memory optimizations: replacing synchronous file I/O with asynchronous reads to prevent blocking the async executor thread, utilizing the Rust Entry API and reference mapping to eliminate redundant clones of GitCommitInfo, and flattening the nested dynamic programming tables in both Rust and TypeScript into contiguous 1D arrays to minimize heap allocations.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread src-tauri/src/git_attribution.rs Outdated
Comment thread src-tauri/src/git_attribution.rs Outdated
Comment thread src-tauri/src/git_attribution.rs
Comment thread src-tauri/src/git_attribution.rs Outdated
Comment thread src-tauri/src/git_attribution.rs Outdated
Comment thread src/EditorPane.tsx Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements GitLens-style Git attribution in the IDE, including file-level “last commit” status bar info and line-level editor attribution that stays visible during edits (with special handling for unsaved and saved-but-uncommitted changes). It also migrates backend attribution to embedded gix and tightens dependency/version management with exact pins plus Dependabot scheduling.

Changes:

  • Add uncommittedLines to the Git attribution API contract and normalize it in the frontend.
  • Enhance the editor attribution UI to keep commit attribution during dirty edits and show local “unsaved/uncommitted” ghost attribution for affected lines.
  • Replace shell-git attribution with gix blame/commit plumbing; add exact dependency pins and Dependabot config.

Reviewed changes

Copilot reviewed 11 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/tauri.ts Extends Git attribution normalization to include uncommittedLines.
src/tauri.test.ts Adds coverage for uncommittedLines normalization defaults/validation.
src/styles.css Refines status bar layout and styles “dirty” attribution ghost text.
src/EditorPane.tsx Adds dirty-aware attribution behavior and line mapping logic for edits.
src/EditorPane.test.tsx Adds tests for dirty attribution behavior and uncommitted line rendering.
src/App.tsx Keeps attribution active while editing and passes isDirty into the editor pane.
src/App.test.tsx Adds test asserting status bar attribution remains visible while dirty.
src-tauri/src/git_attribution.rs Switches attribution implementation to embedded gix, adds uncommitted line detection, updates tests.
src-tauri/Cargo.toml Pins Rust deps exactly; adds gix + jiff constraints.
src-tauri/Cargo.lock Updates lockfile for gix/jiff and pinned dependency graph.
package.json Pins npm dependencies to exact versions (and bumps esbuild).
package-lock.json Updates lockfile to match exact npm pins.
.github/dependabot.yml Adds Dependabot config with weekly schedules and cooldown windows.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/EditorPane.tsx
Comment thread src/EditorPane.tsx Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8edce3d52f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src-tauri/src/git_attribution.rs Outdated
Comment thread src-tauri/src/git_attribution.rs Outdated
Comment thread src/EditorPane.tsx Outdated
Comment thread src/EditorPane.tsx
Address reviewer comments:
- Avoid blocking attribution reads and cache commit lookups
- Use path history for file-level commit attribution
- Normalize worktree line endings and map saved lines to current coordinates
- Cache editor attribution line state and flatten mapping tables

Co-authored-by: Codex <noreply@openai.com>
@GordonBeeming GordonBeeming merged commit 8f4df84 into main Jun 22, 2026
2 of 4 checks passed
@GordonBeeming GordonBeeming deleted the gb/use-gix-attribution branch June 22, 2026 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show Local Git Attribution With Remote Commit Actions

2 participants