this post was submitted on 20 Nov 2024
792 points (97.4% liked)

Programmer Humor

19623 readers
2530 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
792
submitted 23 hours ago* (last edited 22 hours ago) by [email protected] to c/[email protected]
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 14 points 22 hours ago (1 children)

Having done exactly 0 research, I going to assume it's one of those "DO NOT PRESS OKAY UNLESS YOU ARE EXPERIENCED AND KNOW WHAT YOU ARE DOING" and someone went "pffft I know what I'm doing. click now what does this option do..."

[–] [email protected] 29 points 22 hours ago (1 children)

reading through it, it sounds like they opened a project in VSCode, and it saw that there was a local git repo already initialized, with 3 months of changes uncommitted and not staged. So the options there are to stage the changes (git add) to be committed or discard the changes (git checkout -- .). I guess they chose the discard option thinking it was a notification and i guess the filename would be added to gitignore or something? Instead, it discarded the changes, and to the user, it looked like VSCode did rm -rf and not that this was the behavior of git. Since the changes were never committed, even git reflog can't save them.

[–] [email protected] 30 points 20 hours ago (3 children)

From this issue: https://github.com/microsoft/vscode/issues/32459

It appears that the behavior actually included a git clean. Which is insane in my opinion. Not sure if they changed it since, but there’s definitely a dev defending it.

[–] [email protected] 11 points 16 hours ago

It appears that the behavior actually included a git clean. Which is insane in my opinion.

Yeah. Building a convenient accessible context free way to run git clean...sure feels like the actions of someone who just wants to watch the world burn.

[–] [email protected] 3 points 19 hours ago (1 children)

Yeah, it's unclear to me at the time if the dialogue box in the screenshot appeared when doing a select all operation, but it reads as though the OP dev didn't understand git, discarded their work, and got upset that it was an option.

Realistically if the dialogue box appeared, I'm not sure there would be anything else the IDE could do to prevent the dev from themselves. Perhaps reject operations affecting 5000 files? But then you'll just have someone with the same issue for 4000 files.

[–] [email protected] 13 points 19 hours ago* (last edited 19 hours ago)

The issue I linked has a very good analysis of the UX issues and several suggestions for fixing these. They went with a minor iteration on the original message box, which not only includes a clearer message and the number of files affected, but also defaults to not touching untracked files (while preserving the option to delete untracked files as before).

[–] [email protected] 2 points 20 hours ago (1 children)

He said they're not going to change it, just make the dialog a lot more clear and add a second button to it that will only do a reset without the clean.

[–] [email protected] 6 points 19 hours ago

The second button is actually a pretty major change!