Vscode: Provide a way to continue a rebase if there are merge conflicts

Created on 21 May 2016  Â·  16Comments  Â·  Source: microsoft/vscode

  • VSCode Version:

1.1.1

  • OS Version:

Windows 7

Steps to Reproduce:

  1. Pull rebase
  2. If there's a merge conflict, you can resolve it but are stuck after that. Have to go to the command line to continue the rebase.

This seems like half feature request and half 'bug'. If pull rebase is an option, you should be able to make it through the rebase within the editor even if there's a merge conflict.

feature-request git

Most helpful comment

Me too buddy. 😢

We gotta fix this soon.

All 16 comments

this one drives me crazy... happens toooo often :/

Me too buddy. 😢

We gotta fix this soon.

Please fix this. 👎

it's amazing how such an important thing is still unavailable after 2 years, leaving people stuck every day. The only thing that comes to my mind is that vscode developers don't use vscode git integration at all.

I feel like creating a cohesive GUI experience for git is a fool's errand.

I've since drastically reduced the time spent using git in the editor. It's great for basic pulls and merges, and creating and publishing branches.

Besides that it's basically unusable, and I don't know if I can really fault the team too much here. There are 9 billion different use cases and problems that can arise.

I understand that are many possible cases, but it won't hurt to be able to rebase continue/skip/abort from a simple mouse click, and people could finish the resolve conflict sequence without typing commands in most cases.

Please this a million times

As of 1.26.0 or 1.26.1, clicking commit will do a rebase --continue if a rebase is underway.

The below code from repository.ts demonstrates it

async commit(message: string, opts: CommitOptions = Object.create(null)): Promise<void> {
        if (this.rebaseCommit) {
            await this.run(Operation.RebaseContinue, async () => {
                if (opts.all) {
                    await this.repository.add([]);
                }

                await this.repository.rebaseContinue();
            });
        } else {
            await this.run(Operation.Commit, async () => {
                if (opts.all) {
                    await this.repository.add([]);
                }

                await this.repository.commit(message, opts);
            });
        }

In mac i problem too

@MatdeB-SL can't wait to check it out!

Cool!

On Wed, Aug 29, 2018 at 5:55 AM chadbr notifications@github.com wrote:

@MatdeB-SL https://github.com/MatdeB-SL can't wait to check it out!

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/6614#issuecomment-416941992,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APqVfH9c3y3EwfIzpD0OvSOv2RxSXXyGks5uVo9WgaJpZM4Ijzkl
.

This has been fixed!

As of 1.26.0 or 1.26.1, clicking commit will do a rebase --continue if a rebase is underway.
...

In 1.27.1 can see in the SCM view, there is a hash and then the word "rebasing", but I'm not seeing anywhere a way to continue the rebase.

Once you commit in the viewlet, git rebase --continue will be executed instead of git commit.

I'm not seeing a way to commit. This is what I mean:

  1. While a branch is checked out, I do a git rebase master from command line (bash on ubuntu), and git hits a conflict.
  2. I then go to the vs code window where the folder is open. In the Git panel on the left, I can see the file listed under Merge with a C as status, and I can see there are conflict markers in the file.
  3. I resolve each conflict and save.
  4. The file status changes to M once all conflicts resolved.
  5. Then I can click the plus sign on the file, and the file disappears from the Merge (perhaps a commit occurs then?). But a rebase continuation does not happen, there is nothing under Commit, and there is no option to do rebase continue.

So I have to go back to the command line and type rebase --continue and repeat the above steps until rebase completes. Then I can force a push.

Then I can click the plus sign on the file, and the file disappears from the Merge (perhaps a commit occurs then?).

If this happens, you resolved the conflicts in a way that a commit isn't necessary, eg: picked all changes from the same side.

It's a valid issue, I've created #60149

Was this page helpful?
0 / 5 - 0 ratings

Related issues

curtw picture curtw  Â·  3Comments

lukehoban picture lukehoban  Â·  3Comments

villiv picture villiv  Â·  3Comments

sijad picture sijad  Â·  3Comments

vsccarl picture vsccarl  Â·  3Comments