Developer Accidentally Deletes Three-Month of Work With Visual Studio Code (bingj.com)
New submitter joshtops writes: A developer accidentally three-month of his work. In a post, he described his experience, "I had just downloaded VScode as an alternative and I was just playing with the source control option, seeing how it wanted to stage -- five thousand files -- I clicked discard... AND IT DELETED ALL MY FILES, ALL OF THEM, PERMANENTLY! How the f*uk is this s*it possible, who the hell is the d******* who made the option to permanently delete all the files on a project by accident even possible? Cannot even find them in the Recycle Bin!!!! I didn't even thought that was possible on Windows!!! F*ck this f*cking editor and f*ck whoever implemented this option. I wish you the worst.'
This is why offsite backups, and revision control, is a good idea...
He clicks "discard" and it deletes the files. This seems a reasonable outcome. Did he not have any backups? I'm pretty sure that is the *real* WTF.
The software redefined the semantics of "discard" without informing the user. In Git, discard means "drop pending changes". In VS Code, apparently, discard means "delete and purge all historical references --force". How the hell can the VS Code devs justify introducing such a dangerous and confusing change?
Captcha: horror
If he's very very smart he shut down the machine immediately, mounted the drive read only and recovered the files. The chances are most of them were just unlinked and can be recovered since they havent been overwritten yet
"goodbye and hello, as always" ~Prince Corwin, from Zelazny's Amber series
Now that he's 18 - he has discovered the world isn't fair.
He goes three months and doesn't have a backup? Even in a ZIP file or on a USB drive, or "insert cloud drive service here"
An unfortunate mistake and maybe even a poorly implemented feature.
but I have little sympathy because - well his HD could have crashed or a crypto-worm or... basic data loss could have occurred.
However - how'd we all learn this lesson? Let others stumble before us or put our own finger in the fan !!!
There may very well be a user interface problem with the product. I don't want to blame the victim.
However, this guy was going to lose his work someday. Maybe it would be a hard drive failure. Maybe a corruption. House fire. Who knows? The point is eventually he was going to have data loss because he doesn't back up. Microsoft may very well be the direct cause here, but this guy was NOT following any kind of best practices.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
to add clarity (and my $0.027)
It is *absolutely* the developer's responsibility, but *not* his fault.
The software in question really shouldn't do something this drastic without a second window saying "This will erase files from disk. Are you sure you intend to do this?"
whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
I'd agree with this, especially in the context of the way Microsoft has trained users into normally expecting prompts when actions have very serious, arguably permanent results. User bears some responsibility, but when the design mentality of the UI since the beginning of the company has been to use confirmation prompts then there's an expectation that this will continue.
If I were him I'd immediately boot to some utility that scans the disk for filesystem clusters marked as deleted/available to attempt to undelete them. That is still a thing, right?
Do not look into laser with remaining eye.
The software in question really shouldn't do something this drastic without a second window saying "This will erase files from disk. Are you sure you intend to do this?"
It did actually. He said it came up and warned him "are sure to discard all the changes?" (his words) and he clicked yes. Since he hadn't ever checked anything in, his changes were what he had done in the past 3 months.
No backups, no source control for 3 months, a guy who doesn't know what source control is or does, and just clicks on warning messages without understanding them is his fault. Regular backups would have saved him. Actually using source control would have saved him. Reading the damn prompt and actually being sure before clicking "Are you sure" would have saved him. Another prompt asking are you really really sure isn't going to save him from himself.