vscode icon indicating copy to clipboard operation
vscode copied to clipboard

After resolving all conflicts during a rebase, continue the rebase

Open RalfJung opened this issue 7 months ago • 1 comments

The usual way I encounter git conflicts is during a rebase. vscode helps a lot with resolving those, but then I have to move to the terminal to type git rebase --continue.

https://github.com/microsoft/vscode/issues/6614 and https://github.com/microsoft/vscode/issues/60149 claim that vscode should detect a rebase and continue it when committing, but that does not happen for me, at least not always.

What I did is:

  • start a rebase on the terminal
    • specifically, I am rebasing 9fc38d1d75b705d1124a5a281e0a442e8b269eab over e7f4317ea0e891296163414c6f681ccec976abc3 in the https://github.com/rust-lang/rust/ repo
  • encounter a conflict
  • resolve the conflict in vscode
  • in the source control view, there's only a "commit" button, no "rebase" button, so I press "commit" (with the suggested commit message being the one of the commit I am currently rebasing)
  • after that, there's no button at all, I am just stuck

Build info: Version: 1.93.1 Release: 24256 Commit: dbab3f8e8c5da7ca1bde636806e0a973e497aa01 Date: 2024-09-12T18:27:33.186Z Electron: 30.4.0 ElectronBuildId: undefined Chromium: 124.0.6367.243 Node.js: 20.15.1 V8: 12.4.254.20-electron.0 OS: Linux x64 6.12.27-amd64

RalfJung avatar May 23 '25 06:05 RalfJung

If the intention is that when a rebase is ongoing, it shows "rebase" instead of "commit" in the source control view, then that is not working:

Image

I'm pretty sure I saw that "rebase" button somewhere though... maybe it doesn't work here due to the submodules?

RalfJung avatar May 23 '25 20:05 RalfJung

From the looks of it you are running VS Code 1.93.1. Are you able to reproduce with the latest VS Code Stable release (1.100.2)?

lszomoru avatar May 29 '25 12:05 lszomoru

I just had this again with a more recent version:

Version: 1.100.23258 Commit: 557d9224936804f4aeb93625d7a45c97113627e4 Date: 2025-05-15T18:24:48.143Z Electron: 34.5.4 ElectronBuildId: undefined Chromium: 132.0.6834.210 Node.js: 20.19.0 V8: 13.2.152.41-electron.0 OS: Linux x64 6.12.27-amd64

I start a rebase on the terminal, and then I open vscode. vscode does not seem to realize that a rebase is going on: it offers "commit", not "continue":

Image

A potentially relevant point here is that this is happening in a git worktree (and not in the "primary"/"original" worktree).

RalfJung avatar May 31 '25 20:05 RalfJung

@RalfJung, thanks! VS Code does not currently support git worktrees. I would suggest that you subscribe to the linked issue in order to get notified when support is added. Were you ever able to reproduce the issue outside of git worktrees? Thanks!

lszomoru avatar Jun 02 '25 10:06 lszomoru

It is likely that there were always worktrees involved when I had that issue.

RalfJung avatar Jun 02 '25 11:06 RalfJung

I will go ahead and close this issue, but please feel free to reopen it if you can reproduce without a working tree. Thanks!

lszomoru avatar Jun 02 '25 15:06 lszomoru

That is unlikely, I do most of my work in worktrees.

RalfJung avatar Jun 02 '25 17:06 RalfJung