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

Programmer Humor

19735 readers
468 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 2 years ago
MODERATORS
870
submitted 1 week ago* (last edited 1 week ago) by [email protected] to c/[email protected]
you are viewing a single comment's thread
view the rest of the comments
[–] Hawke 110 points 1 week ago (4 children)

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

[–] [email protected] 33 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.

[–] [email protected] 41 points 1 week ago

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.

[–] [email protected] 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 15 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.

[–] [email protected] -1 points 1 week ago

Sure, if you don't understand how source control works.

And if you don't, why are you learning it by blindly stumbling through it on your only copy of important code?

[–] Starbuck -4 points 1 week ago (1 children)

What exactly do you think discard means?

[–] Hawke 70 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.

[–] [email protected] 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 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.

[–] [email protected] 4 points 1 week ago* (last edited 1 week ago)

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

[–] [email protected] 3 points 1 week ago

It means both.

[–] [email protected] 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 24 points 1 week ago (1 children)

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

[–] Eranziel 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 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.