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.5k stars 1.26k forks source link

Fix untracked files problem in multiple commits rebases with conflicts #990

Closed lapfelix closed 3 months ago

lapfelix commented 5 months ago

Fixes https://github.com/git-up/GitUp/issues/882

Added and implement kGCCheckoutOption_RemoveUntrackedFiles to fix issue where untracked files are left behind after forceCheckoutHEAD is called during a rebase.

I was able to reproduce the issue in the -[GCEmptyLiveRepositoryTestCase testMultipleCommitsRebaseWithConflict] test I implemented in https://github.com/git-up/GitUp/pull/989 (I would've based this branch on the branch I used for PR 989 but I can't open a PR on another PR from my fork).

Then I dug deeper and deeper until I found that -[GCRepository forceCheckoutHEAD:error:] didn't remove untracked files, but that this was required for rebases. I still don't fully understand what caused this regression, but this does seem to fix it (and all the other tests pass).

I AGREE TO THE GITUP CONTRIBUTOR LICENSE AGREEMENT

lucasderraugh commented 3 months ago

Thank you again @lapfelix. Apologies on the slow turnaround for this.

lapfelix commented 3 months ago

Oh no worries! I've been using a version of GitUp with this change (and what's in my other PR too) for work for months now and it seems good to me.

balavor commented 2 months ago

Unbelievable! Thank you so much!