this post was submitted on 20 Nov 2024
876 points (97.6% liked)
Programmer Humor
19630 readers
964 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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
A feature that permanently deletes 5000 files with one click without warning deserves a fuck you.
It had a reasonably clear warning, though; a screenshot is included in this response from the devs. But note that the response also links to another issue where some bikeshedding on the warning occurred and the warning was ultimately improved.
I disagree that that warning is reasonably clear. Even the comment that included it has the line of thought, where the user, not knowing what terms git uses thinks that they just did an action that is going to change each of their files. It makes sense that they'd want to discard those changes. That user then goes on with some snark about not wanting to learn any more about what they are playing with and that other programs would do the same, but "discard changes" seems like it would have a clear meaning to someone who doesn't know git.
The warning says it isn't undoable but also doesn't clarify that the files themselves are the changes. Should probably have a special case for if someone hits discard changes on a brand new repository with no files ever checked in and hits discard on a large number of files instead of checking them in. Even a "(This deletes all of the local files!)" would make it clear enough to say what the warning is really about.
Well, yeah, that's why the linked ticket led to a massive improvement:
That's way better. His sacrifice benefited others in the end.
(I haven't checked what the warning says today.)
Even if you know git, you wouldn't assume that "discard all changes" affects untracked files. It's bad design all around
That depends on what you map "discard" to in your mental model. Whoever designed the VSCode feature chose to associate it with reset+clean, rather than just reset. Presumably that's why they called the menu option "discard" rather than "reset". (But I agree that this is a surprising choice, and that they managed to make an already-famously-bad UX even worse.)
My git gui has a tick box on that prompt to specifically include added files. I now see why haha
OK this is hilarious
"Discard changes" is usually equivalent to "cancel" or "quit without saving". Not shift+delete files lol.
Well, yeah, that's why they updated the warning pop-up. It's still the case that the user didn't bother to find out what the warning meant before choosing the inherently destructive option.
Here's the revised pop-up, according to the linked ticket:
I haven't checked the current behavior (this whole incident was seven years ago).
If you have no idea what Git is, that warning message is not telling you you’re about to delete 5000 files.
But I wonder if this person maybe does know about Git because they used the word „stage“.
If you don't know what git is, you should probably avoid choosing the "confirm" option when you're warned that an operation is dangerous.
That said, I think the change they ultimately made in the linked issue, which words the warning differently and, more importantly, provides an option to only discard changes to already-tracked files, is a vast improvement.