Skip to content

Git Butler support - #566

Closed
backnotprop wants to merge 4 commits into
backnotprop:mainfrom
dansusman:main
Closed

backnotprop wants to merge 4 commits into
backnotprop:mainfrom
dansusman:main

Conversation

@backnotprop

@backnotprop backnotprop commented Apr 15, 2026 •

Copy link
Copy Markdown
Owner

@dansusman hey man, I've been trying to get in touch with you, but I've had a lot of users ask for this. If you don't mind, I'm going to try to merge this into the main branch.

@dansusman dansusman left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey @backnotprop, sorry I missed your earlier discussion post tagging me. I'm happy to merge this into your main repo if you're willing to maintain it as a new feature. Let me clean up a few things in my fork so this code is a bit higher quality. I'll resolve the conflicts too.

dansusman and others added 2 commits April 15, 2026 09:14
Implements a GitButler VCS provider that integrates `but diff` into
  plannotator's review flow. Detected via `.git/gitbutler/but.sqlite`.
  - Lane selector shows each applied stack as a named diff option  -
  Workspace view diffs from merge base (includes committed lane changes
  and untracked files via `but diff -j` enumeration)  - Per-lane view
  combines uncommitted assigned changes (stack CLI ID) with    committed
  branch changes (branch CLI ID), merging hunks by line number  - File
  metadata badges show committed (C), staged (S), or mixed (M) status
  per file in lane view, with lane name inline (e.g. "S · test")  -
  Workspace view shows lane attribution per file; multi-lane files show
  "N lanes" with per-lane breakdown on hover ("committed to x, staged to
  y")  - FileMeta type added to shared/review-core.ts and re-exported
  through    shared/types.ts (no duplicate interfaces)  - Hunk expansion
  disabled for per-lane diffs to avoid @pierre/diffs    trailing context
  mismatch when other lanes' hunks shift line counts

@dansusman dansusman left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think this is in better shape now. I have some local changes to update the review UI when changes are made on disk (like staging, committing, making new GitButler virtual branches, etc.) which is kinda like #492 but for file changes.

If you want those changes to land as part of this PR I can merge them into my fork's main, but I figured they should be considered a separate feature so I haven't done that yet. dansusman#5

I also fixed a hang that seems to be caused by pierre/diffs internals, but again probably shouldn't merge in the same PR as initial GitButler support. dansusman#6

@backnotprop

Copy link
Copy Markdown
Owner Author

Big preesh @dansusman !

I agree on the initial PR. Let me get through it this week; I have other big things to merge in as well, but really appreciate it. A lot of users have asked for this.

@swushi

swushi commented Jul 16, 2026

Copy link
Copy Markdown

Howdy! Just curious if there are any plans to merge this? Seems like it may have gone stale. This would be a great addition!

@backnotprop

Copy link
Copy Markdown
Owner Author

Thanks @dansusman for the original work, and @swushi for the follow-up. We rebuilt this on the current architecture in #1067. It is going through final QA now.

@backnotprop

Copy link
Copy Markdown
Owner Author

@swushi it's out! GitButler support shipped in v0.24.0 and is live in the latest release (v0.24.2). Update and run a review inside a GitButler workspace, it will pick it up automatically. Would love to hear how it goes for you.

Thanks again @dansusman for the original work that started this.

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.

3 participants