git-up / GitUp

The Git interface you've been missing all your life has finally arrived.
http://gitup.co
GNU General Public License v3.0
11.48k stars 1.25k forks source link

Regression in 1.3.3 from 1.3.2: Rebasing with conflicts fails with internal error #882

Closed swisspol closed 2 months ago

swisspol commented 1 year ago

When rebasing a topic branch with 2 commits on master and each commits has conflicts, the conflict resolution UI appears for the first commit, I resolve the conflicts, then commit, but instead of showing the UI for the 2nd commit and its conflicts (which is the case with 1.3.2), with 1.3.3, there's just this error:

image

% git status
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    guides/getting_started/apps_directory.md
    guides/getting_started/okta_groups.md
lucasderraugh commented 1 year ago

Sorry to have broken that flow @swisspol. It's most likely a change with libgit that caused this, but I'll try figuring out what the difference is today.

iest commented 1 year ago

Getting this issue a bunch!

I downloaded v1.3.2 to revert but GitUp just loves to be up to date. Any way to disable that?

p.s. I absolutely love this tool and very much appreciate the hard work that goes into it! Have you considered opening a patreon for supporting this work?

torbjornvatn commented 1 year ago

I get a variant of this.

I try to merge master/main into my current branch and this results in conflicts. When I fix the conflicts in a merge editor and mark the files as resolved, I get the "Working directory contains modified files" dialog when I try to click the Commit button. It also results in uncommited files in the Commit View

Kind of related to: https://github.com/git-up/GitUp/issues/876

lucasderraugh commented 1 year ago

Does anyone have easy reproducible steps for this bug? This is the one remaining bug I don't think I have a solution for and am trying to determine how to test it.

I've tried having a test branch and main that have 2 commits each that both contain conflicts in a single line in a single file, but I don't seem to hit an issue with this when attempting a rebase or merge of test into main. I'll keep trying more complex cases, but any assistance on how people hit this would be really helpful!

Screenshot 2023-01-05 at 2 56 23 PM
marcboquet commented 1 year ago

I believe you should be able to reproduce with this sample repo: gitup-rebase-issue.zip

Trying to rebase changes onto main ends up with a dirty working directory, even when canceling the rebase.

The issue only started happening when I added a new file on main that didn't exist in changes, if that helps.

lucasderraugh commented 1 year ago

@marcboquet Thanks, I haven't hit it in my own work lately and so this sample will definitely be helpful.

lapfelix commented 4 months ago

I just tried the changes I made in https://github.com/git-up/GitUp/pull/990 with @marcboquet's sample repo and it seems to fix it: https://github.com/git-up/GitUp/assets/4634735/85257747-60aa-49f1-8c34-446a4716dc68