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

Programmer Humor

19735 readers
230 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
[–] mox@lemmy.sdf.org 169 points 1 week ago* (last edited 1 week ago) (2 children)

In case anyone else is wondering, or simply doesn't like reading screen shots of text, this is apparently a real report:

https://github.com/microsoft/vscode/issues/32405

[–] eating3645@lemmy.world 125 points 1 week ago (2 children)

Steps to Reproduce:

1.Go near this fucking shit editor.

2.Commit the deadly sin of touching the source control options.

🤣

[–] jmcs@discuss.tchncs.de 89 points 1 week ago (4 children)
  1. Ignore the scary warning VS Code shows you when you press the button.
[–] Hawke@lemmy.world 109 points 1 week ago (3 children)

I dunno, “discard changes” is usually not the same as “delete all files”

[–] bleistift2@sopuli.xyz 32 points 1 week ago (1 children)

Nowadays the warning even says that this cannot be undone. Maybe that wasn’t present in 1.15, though.

It was. If you go through the OP thread, one of the responses is a picture of the dialog window that this user clicked through saying, "these changes will be IRREVERSIBLE".

The OP was just playing with a new kind of fire (VSCodes Git/source control panel) that they didn't understand, and they got burned.

We all gotta get burnt at least once, but it normally turns us into better devs in the end. I would bet money that this person uses source control now, as long as they are still coding.

[–] josefo@leminal.space 1 points 1 week ago (1 children)

If the "changes" are all your files, discarding them for me means basically delete my files, you know, the ones you are trying to add.

[–] T156@lemmy.world 13 points 1 week ago* (last edited 1 week ago)

At the same time, OP seems a layman, and might be coming from things like Microsoft Word, where "Discard all changes" basically means "revert to last save".

EDIT: After reading the related issues, OP may have also thought that "discard changes" was to uninitialise the repository, as opposed to wiping untracked files.

[–] Starbuck@lemmy.world -3 points 1 week ago (1 children)

What exactly do you think discard means?

[–] Hawke@lemmy.world 68 points 1 week ago (3 children)

“Changes” are not the same thing as “files”.

I’d expect that files that are not in version control would not be touched.

[–] MajorHavoc@programming.dev 12 points 1 week ago* (last edited 1 week ago)

Yeah. That's discussed in more detail in the code change that resulted from the issue report.

It's a ballsy move by the VSCode team to not only include git clean but to keep it after numerous issue reports.

As others discussed in that thread, git clean has no business being offered in a graphical menu where a git novice may find it.

That said, I do think the expanded warning mesage they added addresses the issue by calling out that whatever git may think, the user is about to lose some files.

[–] EleventhHour@lemmy.world 11 points 1 week ago* (last edited 1 week ago) (2 children)

Apparently, it means changes to the directory structure and what files are in them, not changes within the files themselves. It really ought to be more clear about this.

[–] MajorHavoc@programming.dev 4 points 1 week ago* (last edited 1 week ago)

Yeah. They did substantially modify the message to make it much clearer, thankfully.

[–] BatmanAoD@programming.dev 3 points 1 week ago

It means both.

[–] Pyro@programming.dev 4 points 1 week ago* (last edited 1 week ago) (2 children)

"Changes" encompass more than you think. Creating / Deleting files are also changes, not just edits to a file.

  • If the change is an edit to a tracked file, "Discard Changes" will reverse the edit.
  • If the change is deleting a tracked file, "Discard Changes" will restore it back.
  • If the change is a new untracked file, "Discard Changes" will remove it as intended.

It can also be all of them at the same time, which is why VSCode uses "Changes" instead of "Files".

[–] Hawke@lemmy.world 24 points 1 week ago (1 children)

And the terminology is misleading, resulting in problems. shrug.

[–] Eranziel@lemmy.world 0 points 1 week ago

I find it difficult to lay the blame with VSCode when the terminology belongs to git, which (even 7 years ago) was an industry standard technology.

People using tools they don't understand and plowing ahead through scary warnings will always encounter problems.

[–] candybrie@lemmy.world 7 points 1 week ago

If the change is a new untracked file

Wasn't the issue that it deleted a bunch of preexisting untracked files? So old untracked files.

[–] SARGE@startrek.website 14 points 1 week 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..."

[–] bamboo@lemmy.blahaj.zone 29 points 1 week 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.

[–] Mad_Punda 30 points 1 week 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.

[–] MajorHavoc@programming.dev 12 points 1 week 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.

[–] bamboo@lemmy.blahaj.zone 3 points 1 week 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.

[–] Mad_Punda 13 points 1 week ago* (last edited 1 week 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).

[–] Scoopta@programming.dev 2 points 1 week 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.

[–] BatmanAoD@programming.dev 6 points 1 week ago

The second button is actually a pretty major change!

[–] Klear@sh.itjust.works 9 points 1 week ago* (last edited 1 week ago)

4. Complain about lack of scary warning.

[–] elgordino@fedia.io 6 points 1 week ago (1 children)

Pretty sure the scary warnings in big bold text are more recent than this report.

[–] PostingPenguin 8 points 1 week ago (1 children)

Nope. The scary warning is even screenshotted and used as an example in the post report discussion.

It's quite the fun read!

[–] elgordino@fedia.io 1 points 1 week ago

Ah yes! They’ve just made it ever scarier, it now reads:

“Are you sure you want to DELETE xxx. This is IRREVERSIBLE! The file will be FOREVER LOST if you proceed”

[–] Lazycog@sopuli.xyz 5 points 1 week ago

The dude ranted for awhile in the issue thread and closed the issue himself too! lol

[–] Maven@lemmy.zip 6 points 1 week ago

This link was included in the post but I realize that "source" was probably not the best label for it. Updated to make it more clear.