this post was submitted on 20 Nov 2024
856 points (97.6% liked)

Programmer Humor

19623 readers
2409 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
you are viewing a single comment's thread
view the rest of the comments
[–] bitwolf@sh.itjust.works 29 points 8 hours ago (3 children)

It does warn you it will erase the file when you discard...

[–] JackbyDev@programming.dev 16 points 5 hours ago (2 children)

Go read the actual thread. There was a bug someone found that files you have in there that aren't even associated with git still get deleted. I'm not entirely convinced this was the poster's fault.

[–] bitwolf@sh.itjust.works 1 points 1 hour ago

I did read the whole thread. I also referenced the resolution further down the comment thread.

They've adjusted the error message to be abundantly clear after the fact.

[–] Scoopta@programming.dev 8 points 4 hours ago (1 children)

It's not a bug, it's intentional. They consider changes to be any change since the last commit including in untracked files. They did update it to make this behavior a lot more obvious though.

[–] JackbyDev@programming.dev 7 points 4 hours ago (1 children)

This comment in particular does a great job of explaining the UX problem with this. https://github.com/microsoft/vscode/issues/32459#issuecomment-322160461

[–] Scoopta@programming.dev 6 points 3 hours ago

Yes, honestly this situation reminds me a lot of the LTT trying Linux and destroying his system by installing steam despite apt warning him in the best way it really could that he probably didn't want to do that. Sure the package shouldn't have been in that state in a stable distro but shit happens. It goes to that point of, users will go through great lengths to achieve the end goal blindly jumping past warnings on the way no matter how dire they might be.

[–] kalpol@lemmy.world 14 points 6 hours ago (2 children)

Warns you that changes will be discarded....not quite the same words

[–] zalgotext@sh.itjust.works -5 points 6 hours ago (2 children)

If you use git and understand that VSC's source control stuff is just a thin wrapper around git, you should understand what "discard all changes" means

[–] mindbleach@sh.itjust.works 1 points 42 minutes ago

Broken stair apologism.

[–] JackbyDev@programming.dev 5 points 5 hours ago* (last edited 5 hours ago) (1 children)

"discard" is not a git operation. Reset and restore are, but those weren't the words used.

[–] zalgotext@sh.itjust.works 0 points 4 hours ago (1 children)

I'm not claiming that "discard" is a git action. I'm claiming a git user should understand what's meant by the phrase "discard changes". Run git status in a repo that has changes in the working directory. In the resulting output, there's a message:

Changes not staged for commit:
    (use "git add <file>..." to update what will be committed) 
    (use "git restore <file>..." to discard changes in working directory)
        ...

The phrase "discard changes" is used consistently in git's output.

[–] JackbyDev@programming.dev 3 points 4 hours ago (1 children)
[–] zalgotext@sh.itjust.works 3 points 3 hours ago

Ok that's understandable, I didn't realize VSCode used to delete untracked files as well as a result of clicking through that dialogue.

[–] bitwolf@sh.itjust.works -4 points 6 hours ago* (last edited 6 hours ago) (1 children)

I just tried right now to get the exact message.

Are you sure you want to DELETE foo?
This is IRREVERSIBLE!
This file will be FOREVER LOST if you proceed.

The confirmation button even says Delete File...

User error.

[–] jas0n@lemmy.world 13 points 6 hours ago (1 children)
[–] bitwolf@sh.itjust.works 9 points 6 hours ago

Ah looking at issue 32459 it was addressed shortly after.

You're right that it did originally say "Discard".

[–] SPRUNT@lemmy.world -3 points 7 hours ago

Man who clicks confirmation for leopards to delete his work is angry and surprised when his work is deleted.