Uh oh!
There was an error while loading. Please reload this page.
feat(git): VS Code-style branch sync control - #3075
Conversation
Adds an ahead/behind indicator with one-click fetch/pull/push/publish/sync
next to the branch in the composer toolbar, plus the standalone RPCs behind it.
- contracts: vcs.fetch / vcs.push / vcs.sync RPCs + GitDivergedError
- server: GitVcsDriverCore.fetchCurrentBranch + syncCurrentBranch (fast-forward
pull / push / publish chosen by ahead-behind; diverged history -> typed
GitDivergedError unless mode:"rebase", which runs pull --rebase and aborts
cleanly on conflict). Standalone push reuses the stacked-action driver call so
upstream + push-remote (fork) resolution stays shared.
- client: wsRpcClient vcs.{fetch,push,sync}, action-manager ops, action hooks
- web: GitSyncControl component wired into the branch toolbar
- tests: real-git integration tests for ahead/behind/diverged/rebase/publish/fetch
Also extracts RPC_REQUIRED_SCOPE into its own module with a completeness test
asserting every WsRpcGroup method declares an auth scope, so a missing scope
fails in tests instead of at runtime.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c365aaa. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ApprovabilityVerdict: Needs human review This PR introduces a new feature with new UI components (GitSyncControl), new RPC endpoints (fetch/push/sync), and new git operations including rebase handling for diverged branches. New user-facing features with this scope warrant human review. You can customize Macroscope's approvability policy. Learn more. |
- Fetch toast no longer claims "Up to date" — vcs.fetch only updates remote-tracking refs, so the branch may now be ahead/behind. Title is now "Fetched" with an accurate description; the badge reflects the real state. - Branch picker is disabled while a sync action (fetch/push/pull/sync) is in flight on the same cwd, preventing a checkout/create-ref from racing the git operation. Shares SYNC_BUSY_ACTIONS with GitSyncControl. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
juliusmarminge
commented
Jun 14, 2026
please add screenshots and/or videos |
TheIcarusWings
commented
Jun 14, 2026
juliusmarminge
commented
Jul 20, 2026
Closing as part of backlog cleanup: this PR is stale, currently conflicting with main, has no approval, and has not had active remediation for 30+ days. If the change is still relevant, please rebase onto current main and request reopening or submit a focused current diff. Thank you for the contribution. |







No description provided.