Skip to content

Git Butler support#566

Open
backnotprop wants to merge 4 commits intobacknotprop:mainfrom
dansusman:main
Open

Git Butler support#566
backnotprop wants to merge 4 commits intobacknotprop:mainfrom
dansusman:main

Conversation

@backnotprop
Copy link
Copy Markdown
Owner

@backnotprop backnotprop commented Apr 15, 2026

@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.

Copy link
Copy Markdown

@dansusman dansusman left a comment

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
Copy link
Copy Markdown

@dansusman dansusman left a comment

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.

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.

2 participants