Man I get paranoid about synchronization programs for this very reason. There’s usually some turnkey easy-mode enabled as soon as you first launch that’s like:
“Hey you wanna back up your entire NAS to your phone?! That’ll be fun, right?!”
And you’re like “…No.”
And then it wants to obliterate everything so it’s all “synchronized”, often it’s not easy to find a “No, stop, don’t do anything at all until I configure this.” Option.
iTunes was SO BAD about this.
Syncthing is the least-bad sync software I’ve ever run. It’s got some footguns but it’s still brilliant.
I would imagine there’s still ways to back up version controlled software right?
While I have some sympathy for anyone who loses months of work, as an IT administrator by day, all I have to say about their lack of backups, and lack of RTFM before messing with shit is:
HAHAHAHAHAHAHA HAHAHAHAHA. you got what you deserved fucker. GL.YF.
Yeah, it’s bad enough that it could happen, the fact they allowed that to happen so easily is far worse.
VSCodium better
I’m sure that the “three months of work” was completely shit code. Anybody who is unfamiliar with source control (or even backups!) is prone to making stupid mistakes. Republican voters are likely to have a similar experience over the next 4 years.
What a delightfully divisive statement. We do all need to start somewhere though, and losing months of work is very discouraging!
Reminds me of a hilarious bug in early GHC: https://gitlab.haskell.org/ghc/ghc/-/issues/163
The compiler will delete your source file if there’s any compile error. And the user complained only by sending a very polite email to report this bug. Simon Peyton Jones mentioned it in one of his talks and I still find it quite hilarious till this day.
Left the --hardcore compile option on. Easy mistake.
Software development: hardcore mode
oof
“Microsoft Please Fix” ifadesi, kullanıcıların Microsoft ürünlerinde karşılaştıkları hatalar veya sorunlar nedeniyle şirketten çözüm talep ettiği bir internet meme’idir. Nakkaştepe Millet Bahçesi Menu
It also plays on the weird trope of people swearing at devs in foreign languages
Why are they messing with the source control options when they’re not using source control? Perhaps learn about stuff before you start clicking buttons and performing delete operations on your super critical files?
This is 2000% user error lmao even tho VS Code is a pain in the ass on w*ndows
Did you actually read the thread and see the bug they found where it deleted files unassociated with git?
I did but I must have misread maybe? Because what it looked like was it picked up the existing fucked up git repo but if vscode did the fucking up the less of a skill issue 😮💨😮💨😮💨
It was on this linked issue. They discuss the UX of it more there and I think it’s a little better. https://github.com/microsoft/vscode/issues/32459
In particular, this comment helps explain why I think this is (was) a problem.
As we discuss this, keep in mind that most users who hit the “omg where are all my files” issue come into following these three simple steps:
- Oh what is this? Yes, let’s initialize, git sounds awesome, people use it.
- Oh what is this? All my files appear in this list… but they didn’t before. It looks like its touching my files, I don’t like that, how to I get them out of here?
- Oh what is this? Discard all changes sounds a lot like what I want to do. 💀
People don’t hit this issue because we have that action; they hit it because they want to clear that list. And they will go through great lengths to get there, even if not knowing what their doing or after warned that they are in dangerous waters.
Coupled with the behavior of this “discard all” being
git clean
rather thangit reset
, I get the complaints.
So VS Code isn’t just slow and bloated, it also deletes your files. So glad I was turned off by its excessive memory consumption and deleted it before it deleted my files.
Edit: also why I only ever used git from the command line, I never found a git UI that is easy to understand, and never trusted them.
You think VS Code is slow and bloated? What do you use?
Also, on several occasions I’ve had VS Code help me recover accidentally deleted files, because the editor keeps the file in memory, regardless of if it disappears on disk (like most editors).
It’s really not slow or bloated. There’s a reason it’s so popular (even in Linux)
If it’s running slow, maybe it’s time to check your computer…
I literally had to use it to load 100 git projects simultaneously recently
No it doesn’t delete your files. Hombre from the post told it to delete his files and was then shocked when it did. It even warms you that it’s about to delete your files. Then on top of that, post person wasn’t even using source control, so they can’t get their files back. Don’t mess with the source control options if you’re not using source control. Don’t just randomly click buttons without reading if your project files are super critical. Don’t only have a single version of your entire project in a single place on one computer. This person obviously has no idea what they’re doing, which is fine, but they don’t belong anywhere near a 5000 file project.
should have at least had the decency to send them to the trash instead of outright deleting, this is just good and sane design
Why? There’s a full git log of the files. It’s trivial to get them back. That brings us to the “don’t use the source control tab if you’re not using source control” point.
VS Code slow and bloated? Someone hasn’t been spending nearly enough time in IntelliJ
Two things can be right at the same time. I remember when I used to run VS6, IE and WinAmp in 128MB with KBs to spare. Even today, proper VS is a much better product than VSCode while being a full fledged IDE and not just a glorified text editor.
Vscode is an ide
If vs6 is so great, feel free to use it
It’s also about productivity, Notepad uses less ram, but is not productive. This runs fine on any machine really
And the point of ram is to be used… You can’t check the ram usage and simply assume it’s bloated, because most apps also cache too. RAM is meant to be used
PEBKAC
It does warn you it will erase the file when you discard…
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.
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.
This comment in particular does a great job of explaining the UX problem with this. https://github.com/microsoft/vscode/issues/32459#issuecomment-322160461
Warns you that changes will be discarded…not quite the same words
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
“discard” is not a git operation. Reset and restore are, but those weren’t the words used.
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.
Read this comment from the linked bug. https://github.com/microsoft/vscode/issues/32459#issuecomment-322160461
Ok that’s understandable, I didn’t realize VSCode used to delete untracked files as well as a result of clicking through that dialogue.
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.
This issue was from 2017
Ah looking at issue 32459 it was addressed shortly after.
You’re right that it did originally say “Discard”.
Man who clicks confirmation for leopards to delete his work is angry and surprised when his work is deleted.
I agree with the “learn the CLI”, but to newcomers I’ll also suggest to look at the IDE/editor’s output channel - if there’s GUI for Git, there are also most likely logs for what’s happening under the hood - even if a little noisy, it can be a good learning resource. And of course if you’re learning and unsure of what’s happening (with the CLI or through a GUI), do so in a non-destructive manner (by having proper backups).
Same account that complained about the christmas santa hat
Link? It being “ghost” just means the user has been deleted so I can’t actually go looking.
That has the same energy as complaining that a file manager has “Delete” in the context menu.
except that the “delete” in file managers is actually “trash” and that’s for precisely this reason. Anyone not using the trash bin for a GUI that is capable of deleting files is either incompetent or malicious.
frankly
rm
should default to using the trash bin as well, for desktop-focused distros.I clicked delete and then clicked confirm when it asked me if I’m sure I want to delete, and all my files disappeared! What the fuck?!? Fuck this fucking operating system!!!1!!1one!!!
Did you even read the thread?
CANNOT EVEN FIND THEM IN THE RECYCLE BIN!!!
Yes, that’s what it means when it says “files will be permanently deleted, this is not reversible.”
https://github.com/microsoft/vscode/issues/32405#issuecomment-322155856
Also, check the linked issue to see the bug and UX problems. Particularly the first comment and this one: https://github.com/microsoft/vscode/issues/32459#issuecomment-322160461
I have a difficult time believing this was their fault. It is (was) bad UX.
Have you actually used VS Code, or are you just doing a bunch of research to disagree with a stranger on the internet?
I’m not doing “a bunch of research”, I just read the thread and the linked issue and I’m annoyed by people’s condescending comments about something it seems like they didn’t actually read. We shouldn’t shit on people for things we believe they did wrong, especially when, if you read the linked issue, it wasn’t their fault.
I use VS Codium (basically Code), but I don’t use it’s git integration other than maybe the occasional merge conflict resolution.
If the user didn’t read that, that’s on them. They used a feature they didn’t understand, which is part of a version control system that they also didn’t understand, and didn’t bother reading anything. If you still think they bear no responsibility for their actions then we’ll just have to agree to disagree.
Since they don’t actually have a git project tied to their files, “all changes” means “files created”. If they did have git configured then it would mean “changes since the last commit”, and it wouldn’t delete the files.
Edit: I will concede that it’s probably not immediately apparent to someone not familiar with the system that uncommitted files will be deleted if you use the revert button. But that comes back to understanding things before you go around clicking buttons that say the action is irreversible. At a minimum, they bear responsibility for not knowing what they were doing, and still charging ahead full steam.
If the files were already staged then git should have blobs in the git folder, so they should be recoverable.
Did you read the thread? There was a bug that deleted all files even ones unassociated with git.
Sounds like they weren’t even using version control, and had no business anywhere near a project that size.
had no business anywhere near a project that size.
Lol. That’s a really good point, actually.
I add version control around file number 3200…
(I’m kidding. Writing even a couple lines without version control makes my eye twitch.)
Even back in my super noob days, I’d keep known good working versions of the files in separate folders. I basically invented my own terrible source control system before I knew anything about svn or git.
Yeah. Same here. We learned to mistrust computers very early.
Looks like they weren’t staged. He clicked on the staging option, it showed it would stage thousands of files, he said “hey I should fix my .gitignore” and clicked on what looked like either a “don’t stage” or a “forget” button, and it was a “checkout --force” button.
The most impressive thing is all the people doubling down on the idea that a “checkout --force” button in a main interaction screen is a great idea, there’s nothing wrong with the software, and the user is a moron.
“discard changes” button - the 5000 “new file created” changes, specifically.