2.3.2 beta has a UI Loop when checkout in isn't possible
See original GitHub issueDescribe the bug
When trying to checkout a PR, it goes into a fun loop retrying the checkout but not presenting an error (screenshot below).
At the console, here’s what the error was:
[19:45] ❯ git checkout pr/1389
error: Your local changes to the following files would be overwritten by checkout:
tests/RedisConfigs/Sentinel/sentinel-26379.conf
tests/RedisConfigs/Sentinel/sentinel-26380.conf
Please commit your changes or stash them before you switch branches.
Aborting
[19:46] ❯ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
Note that the 2 files in question do not show as pending differences, because they have both been:
git update-index --assume-unchanged <file>
(this is because Redis stores state in the config, and we shouldn’t be updating master with that state constantly)
This combination seems to confuse the UI and it doesn’t present an error…it just gets in a fun loop. Closing the app is the only way I’ve found to escape it.
Version & OS
OS: Windows 10 Client: 2.3.2-beta5
Steps to reproduce the behavior
See above description…unfortunately not trivial to reproduce. But it’s possible this repros without any PR needed on any branch checkout.
Expected behavior
User gets an error indicating why checkout isn’t possible.
Actual behavior
Infinite merry-go-round loop of fun!
Screenshots
Logs
Logs have sensitive data from our GHE instance, but the only related bits are this in a loop:
2020-03-16T23:45:28.667Z - info: [ui] [AppStore.withAuthenticatingUser] account found for repository: StackExchange.Redis - NickCraver (has token)
2020-03-16T23:45:29.139Z - error: [ui] `git -c credential.helper= -c protocol.version=2 checkout --progress pr/1389 --recurse-submodules --` exited with an unexpected code: 1.
stderr:
error: Your local changes to the following files would be overwritten by checkout:
tests/RedisConfigs/Sentinel/sentinel-26379.conf
tests/RedisConfigs/Sentinel/sentinel-26380.conf
Please commit your changes or stash them before you switch branches.
Aborting
(The error was parsed as 37: Unable to switch branches as there are working directory changes which would be overwritten. Please commit or stash your changes.)
2020-03-16T23:45:29.671Z - info: [ui] [AppStore.withAuthenticatingUser] account found for repository: StackExchange.Redis - NickCraver (has token)
2020-03-16T23:45:30.127Z - error: [ui] `git -c credential.helper= -c protocol.version=2 checkout --progress pr/1389 --recurse-submodules --` exited with an unexpected code: 1.
stderr:
error: Your local changes to the following files would be overwritten by checkout:
tests/RedisConfigs/Sentinel/sentinel-26379.conf
tests/RedisConfigs/Sentinel/sentinel-26380.conf
Please commit your changes or stash them before you switch branches.
Aborting
(The error was parsed as 37: Unable to switch branches as there are working directory changes which would be overwritten. Please commit or stash your changes.)
2020-03-16T23:45:30.596Z - info: [ui] [AppStore.withAuthenticatingUser] account found for repository: StackExchange.Redis - NickCraver (has token)
2020-03-16T23:45:31.046Z - error: [ui] `git -c credential.helper= -c protocol.version=2 checkout --progress pr/1389 --recurse-submodules --` exited with an unexpected code: 1.
stderr:
error: Your local changes to the following files would be overwritten by checkout:
tests/RedisConfigs/Sentinel/sentinel-26379.conf
tests/RedisConfigs/Sentinel/sentinel-26380.conf
Please commit your changes or stash them before you switch branches.
Aborting
(The error was parsed as 37: Unable to switch branches as there are working directory changes which would be overwritten. Please commit or stash your changes.)
Hope this helps!
Issue Analytics
- State:
- Created 4 years ago
- Comments:11 (6 by maintainers)
Top GitHub Comments
Another report of this https://github.com/desktop/desktop/issues/7718#issuecomment-654726249:
@NickCraver Thanks for filing. Marking this as a bug pending further investigation.
tags: spinning, looping, loops, spins, endless