Slashdot Mirror


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.'

79 of 765 comments (clear)

  1. Version Control = Good by brian.stinar · · Score: 5, Insightful

    This is why offsite backups, and revision control, is a good idea...

    1. Re:Version Control = Good by Anonymous Coward · · Score: 5, Insightful

      What kind of idiot only has one copy of 3 months of work?

    2. Re:Version Control = Good by Shatrat · · Score: 4, Funny

      Sounds like he's a diploma-mill coder who doesn't understand such things. 3 months was probably his entire career...

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    3. Re:Version Control = Good by Aighearach · · Score: 5, Informative

      This isn't about backups, it is about not having a central repository. It isn't enough to have revision control, you have to actually be checking it in to a repository and sharing code. Even if you're only sharing with yourself, you still want your revision control to work well. And if you're not synchronizing anything, then you're not even getting feedback about if the system is working.

      It isn't enough to commit the code, you also have to push it somewhere. Even if that is just a repo on the same box.

      You don't want to restore this situation from backups, you want the restore to be from the repo. Much simpler and more to the point. And the backup would be of the repo, not the working directory!

    4. Re:Version Control = Good by djinn6 · · Score: 3, Informative

      You don't even need a central repo. For small projects I just zip the .git directory and upload it to Dropbox or Google drive once or twice a week.

    5. Re:Version Control = Good by Z00L00K · · Score: 4, Interesting

      He was from I understand trying out a revision control system that was pretty buggy.

      In general I have found out that source control systems related to the Microsoft environment are tricky. They used to have something called Source Safe, it was fine until the repository disk was full, then you lost everything.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    6. Re:Version Control = Good by rholtzjr · · Score: 2

      Yes, that happened at a company I was at as well. The Windows dev team was frantically asking "what date was the last back up done" to the infrastructure team. We over on the Unix side of the house breathed a sigh of relief as they were asking all of us to consolidate our repositories into SourceSafe but we voted it down just 2 weeks prior.

    7. Re:Version Control = Good by Austerity+Empowers · · Score: 2

      The workflow that I'd advocate is to make a bare repo on some other machine that is backed up, clone that repo and keep your code on your dev machine. Edit/commit/push back there. This gives you all the advantages of git, particularly if you ever need to use another machine for dev without exposing your entire codebase to HD wipes, or ... microsoft's evil software quirks.

      Zipfiles and tarballs automatically snapped periodically are good as backup, but are kind of annoying to work with, particularly if his tool does something more subtle and he wants to go back in time to just before it happened. There was an editor I used to use that had a habit of corrupting it's own project files in subtle ways, and what i ended up having to do was get an old copy of that file, and hand tweak it in to the present format of that file so the editor would stop being stupid. git really helps here.

    8. Re:Version Control = Good by hey! · · Score: 2

      And now he will never use source control again....

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    9. Re:Version Control = Good by F.Ultra · · Score: 5, Interesting

      I don't think that Source Safe ever works fine for any definition of the word. Back some 12-15 years when I was working at a "Omg we can only use Microsofts products" place it was common to see our dev chief roll back the entire Source Safe repository from backups. Some times I saw him do this on a daily basis. Another fine touch where when some dev checked out some files and went on a 5 week vacation leaving the file locked in Source Safe, not the good old days :)

    10. Re: Version Control = Good by bobbied · · Score: 4, Insightful

      I've seen it delete the .git dir before so unless you also push it to a remote, that won't necessarily help.

      Offsite backups, file system backups, wayback machine? Any of these works with Git... Of course, why use Git if you only keep one repo laying around...

      BACKUP your important stuff or stupid mistakes will cost you..

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    11. Re: Version Control = Good by tk77 · · Score: 5, Insightful

      What? Why not? Git is perfectly fine for a single developer. I use it all the time on personal projects. You can even create multiple local repositories so if you screw up your primary tree you can easily recover it.

    12. Re:Version Control = Good by Lord+Kano · · Score: 3, Informative

      You're probably right.

      Judging by the name, it would appear that this guy only graduated high school 2 years ago and recently graduated a free coding camp.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    13. Re: Version Control = Good by Anonymous Coward · · Score: 2, Funny

      He didn't know it was possible to delete stuff in Windows without going to the recycle bin.
      LOL

    14. Re:Version Control = Good by rogoshen1 · · Score: 5, Funny

      he doesn't have any code left to store, so it's a non-issue!

    15. Re:Version Control = Good by taustin · · Score: 5, Funny

      What kind of a developer doesn't know that Windows programs can permanently delete its own data files?

      I think we know what kind.

    16. Re:Version Control = Good by nine-times · · Score: 2

      Yeah, I'm not trying to defend VS Code. I use it and find it useful (writing Powershell scripts on a Mac), but for the sake of argument I'll concede that it's a terrible tool and that Microsoft is the devil himself. Still, that doesn't explain how a developer lost 3 months of work.

      Because if you're playing with a new tool that includes file editing and file management, it's not a good idea to experiment and test it out in a production environment with files that you rely on. Even if he hadn't accidentally deleted his files, it wouldn't be unheard of for a text file editor to alter the files in some way. Even if it just changes the encoding, that could break things and cause problems.

      But regardless of all of that, where are the backups? Who, in this day and age, doesn't know that you should back up your important files? If you're any kind of computer professional, not having backups is kind of inexcusable.

    17. Re:Version Control = Good by chipschap · · Score: 2

      If this guy was so clueless/inexperienced to not have a separate backup (off-site, in the cloud, wherever) then he has learned a difficult lesson. He can blame the tools all he wishes, but the fault lies squarely with him.

      I'm obsessive about backups. There's a reason for that. Things go wrong all the time.

      Full disclosure: I once lost almost 10,000 words of a novel I was writing due to my own cluelessness about certain backup systems. It was a hard lesson.

    18. Re:Version Control = Good by swillden · · Score: 5, Funny

      What kind of idiot only has one copy of 3 months of work?

      No doubt.

      I once worked with a guy who had the opposite problem. He did not trust the version control system, or much of anything else. He'd check the source out, copy it once onto a USB drive and a second time to his work directory. Then he'd remove the USB drive and put it in a drawer for safekeeping, then proceed to work on the code. Periodically he'd stop and copy his changed files to the USB drive. When he had completed some work, he'd copy the changed files over to the checkout location, then commit the change to the version control system.

      Where it got really nightmarish is when he had multiple changes in progress at once. He'd have a checkout for each stream of work, plus a copy of each checkout on a USB drive, plus a work directory for each. He tried very hard never to do that, which meant he was always refusing to fix important bugs because he was already working on something else, even if what he was doing was less important, just because it was too hard for him to context switch due to his lame system.

      If you're wondering how he kept everything straight, he didn't. He frequently forgot a file or two when copying from his work directory to the checkout, resulting in commits that didn't build because they were missing part of the change (even worse was when they *did* build). Once in a while, he copied from the wrong work directory. As far as I could tell, he never actually used the USB drives for anything at all, just copied to them and put them in a drawer.

      What about merge conflicts? Heh. Merge conflicts terrified him. He was always trying to convince people not to touch any file that he was working on, and advocating for replacing the version control system with one that used a locking model, so he could lock "his" files and be sure that no one else could work on them.

      I was a contractor and only worked at the place for about two months. I still felt like strangling him; I don't know how the others who had to deal with him long-term did it.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    19. Re: Version Control = Good by Just+Some+Guy · · Score: 4, Informative
      That's not true:

      # Create an empty git repo.
      $ cd /tmp && git init --bare repo.git
      Initialized empty Git repository in /private/tmp/repo.git/

      # Clone it.
      $ git clone repo.git test_dir && cd test_dir
      Cloning into 'test_dir'...
      warning: You appear to have cloned an empty repository.
      done.

      # Create a file and add it to the repo.
      $ echo foo > foo && git add foo && git commit -m 'Added foo'
      [master (root-commit) 1813607] Added foo
      1 file changed, 1 insertion(+)
      create mode 100644 foo

      # Modify that file and add the change to the repo.
      $ echo foo2 >> foo && git add foo && git commit -m 'Modified foo'
      [master 6cb6f22] Modified foo
      1 file changed, 1 insertion(+)

      $ cat foo
      foo
      foo2

      # Push the change to the repo we made earlier.
      $ git push
      Counting objects: 6, done.
      Delta compression using up to 8 threads.
      Compressing objects: 100% (2/2), done.
      Writing objects: 100% (6/6), 421 bytes | 421.00 KiB/s, done.
      Total 6 (delta 0), reused 0 (delta 0)
      To /tmp/repo.git
      * [new branch] master -> master

      # Go back to the first version of foo. This simulates the case where
      # we pushed the first commit, then someone else added the second
      # commit.
      $ git reset --hard HEAD^1
      HEAD is now at 241f76f Added foo

      # Now change that file in a different way.
      $ echo foo3 >> foo

      # See? It's different from that second commit.
      $ cat foo
      foo
      foo3

      # Try to pull in that second commit that would overwrite the
      # uncommitted change we just made. Git has your back.
      $ git pull
      Updating 241f76f..3a175e4
      error: Your local changes to the following files would be overwritten by merge:
      foo
      Please commit your changes or stash them before you merge.
      Aborting

      --
      Dewey, what part of this looks like authorities should be involved?
    20. Re: Version Control = Good by Just+Some+Guy · · Score: 2

      Your team at work should probably be using perforce

      LOL. There's no compelling reason why I'd use a proprietary version control system for anything trivial or important. If nothing else, none of them have ecosystems that hold a candle to git. Every editor supports it. Every build system supports it. Every CI/CD pipeline supports it. Every ops tool supports it. 95% of open source packages are hosted in it.

      Feel free to use whatever you want, of course, as long as you understand that what you're giving up by not playing in the Git ecosystem is unlikely to make up for any perceived advantages over Git.

      --
      Dewey, what part of this looks like authorities should be involved?
    21. Re:Version Control = Good by Gussington · · Score: 5, Insightful

      What kind of a developer doesn't know that Windows programs can permanently delete its own data files?

      I think we know what kind.

      What kind of developer doesn't even know that when Windows deletes a file, the file is still there, only the index is deleted, any data recovery util will get it back.
      It would've taken less time to recover the deleted files than rant about it on the Internet...

  2. I'm confused too by AvitarX · · Score: 2

    Doesn't NTFS allow for file history ?

    I don't understand how anybody could have an important drive without that turned on.

    --
    Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
    1. Re:I'm confused too by vux984 · · Score: 2, Insightful

      Forget drive history... the hard drive could fail, or get stolen, or get damaged by lightning or coffee, or deleted by malware.

      Where are the backups?

      Revision control is not backups. NFTS file history is NOT proper backups. A copy elsewhere on the same hard drive or same computer or on another computer via a filesystem mount... is NOT proper backups. An external drive you attach once a week and copy files to is not proper backups. They are better than nothing, and each one is still useful... revision control has lots of uses after all, including recovering from certain messes, but it is not by itself proper backups.

      If you can't survive a ransomware infection and a lightning strike all happening simultaneously with the backups *running* -- then you don't have proper backups.

  3. Git by irrational_design · · Score: 4, Informative

    Fortunately he can just retrieve his files from his Git repository, right? Or... he just learned a painful lesson of why you always use a code repository.

    1. Re:Git by Hardhead_7 · · Score: 2

      I think it's insane to do three months of work without a backup. I get worried if I don't push my commits once a day.

      On the other hand, I definitely agree with him that VSCode shouldn't delete files when it doesn't detect a git repo. And it should be clearer about what it's doing.

    2. Re:Git by swillden · · Score: 5, Interesting

      Fortunately he can just retrieve his files from his Git repository, right? Or... he just learned a painful lesson of why you always use a code repository.

      I have to take this opportunity to tell my favorite oh-shit story.

      Some twenty-odd years ago, I was working on an embedded system project which had about 60 person-years of development effort into it (20 developers, three years). We worked on HPUX workstations with our home directories NFS-mounted on a big Network Appliances NFS server. The server was pretty cool tech for the day, making use of RAID for redundancy, with nifty snapshotting features, including automatic snapshotting that created a set of hidden subdirectories in each directory with your files as they were an hour before, two hours before, etc. Getting back any old version was super easy. Plus we all used CVS, and the CVS server also used NFS storage.

      So... all of our eggs were in one basket, but it was a highly-reliable and flexible basket and, of course, the sysadmin made nightly backups, rotated the tapes offsite, etc. The backups even included the snapshots, providing quite fine-grained history from any point in time. So not bad.

      Well, one day something went wrong, and the NFS server lost everything. I don't know if it was hardware failure, if the sysadmin accidentally did something like "rm -rf /", or what. But it was all gone. All of the developers' home directories, with their working copies, and the central CVS repository. Every Single Line Of Code, all of the design documents other that what happened to be laying around in hardcopy, everything. 60 person-years.

      Oh shit.

      But, backups, right? No.

      Not one.

      The sysadmin had never tested his backups, and it turned out that his backup script didn't have permission to read any of the directories where the important data lived. The backup tapes were all useless. He had dozens of methodically-archived off-site copies of the NFS server system binaries. You know, the ones that come on the installation media.

      OH SHIT!

      Luckily, we had one major customer that was so big, financially, and so influential in the relevant industry, that when they signed their contract to buy our product, they made us commit to keeping a developer on-site, full-time. So we all took turns spending a couple of weeks at a time living in a hotel and working in their facility, on the other side of the continent. And, most importantly, there was a development workstation there. With a local copy of the code that was updated via FTP as needed.

      Now, for you young'uns that only know about distributed version control systems, CVS wasn't (isn't) such a beast. In CVS there's one central repository which has all of the versioned history, all of the branches (not that there were many, because working with branches was a pain in the ass), all of the tags, etc. When you check out the code, you get only the current head revision of the one branch, no history at all.

      That's what this one remote workstation had. A checkout of HEAD, as it was a couple of weeks before the disaster. We carefully copied that, and FTP'd it back home, and used it to start a new, fresh, CVS repository. All of the commit history was gone, and a couple of weeks of work by 20 or so people, but we had nearly-current code. All of the design docs and other bits and pieces were gone, but we had code.

      You may be wondering if, at this point, the sysadmin got canned. He did not. He was called onto the carpet and told that we HAD to have good, tested backups going forward. He agreed that it would be his top priority. A couple of weeks later, he reported back to senior management that we had good backups.

      My boss decided to test it. He disabled snapshotting of his home directory, created a file, put some stuff into it, waited a day (so it would get backed up to tape), then deleted it and walked over to ask the sysadmin to recover it for him.

      The backups still didn

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  4. So, let me get this straight... by djbckr · · Score: 5, Insightful

    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.

    1. Re:So, let me get this straight... by digital_fiz · · Score: 2, Informative

      It does mean discard pending changes which in his case happened to be everything or mostly everything? Both Git and VSCode are functioning properly he just clicked buttons without understanding what they did first. if he had copy/pasted a git checkout or git rebase code snippet he got on some website that wiped his stuff out and he was surprised this would have a different reaction but its no different. 2 major issues I see: - Not having backups of an obviously huge project either in git already or in a different location? - Why was he testing out an editor and clicking buttons he had no idea what they did on such a important project?

  5. Oh my god will you bloody editors do some work by wonkey_monkey · · Score: 4, Funny

    A developer accidentally three-month of his work.

    I think someone accidentally a word.

    And what the hell is a "three-month"? If that was ever a thing, it hasn't been for about 300 years.

    --
    systemd is Roko's Basilisk.
    1. Re:Oh my god will you bloody editors do some work by kurkosdr · · Score: 2

      A work that took three-months to complete. It is a measure of effort.

  6. This guy is a moron by Anonymous Coward · · Score: 2, Insightful

    What would he have done if his hard drive crashed in that three month span? Who doesn't back up their work daily to something...anything?

    This article should be "Moron developer blames software for his stupidity".

    1. Re: This guy is a moron by amxcoder · · Score: 2

      This is the same method that a lot of people use to come to the conclusion that having backups is important. Usually after the first or second time a person looses important stuff, they realize that being proactive and having some kind of backup plan (any backup plan) is better than none. Maybe his backup choices will be clearer to him now.

      Its amazing how many people say "I don't have anything that's important enough if I loose it...." until they actually loose it, then they are devastated. It's also amazing how many people *think* they'll be ok, because they have the important files duplicated somewhere, until they need to find that duplicate, and are looking on all their various computers/laptops, flash-drives, online file storage, and mobile devices, and the best they can find is a copy that's like a year out of date if they are lucky...

      I believe the old saying "once bitten, twice shy" applies to backups here... Maybe he will wisen up and not rely on a single copy of his files if they are so important.

  7. Blaming the victim = bad by Anonymous Coward · · Score: 5, Insightful

    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

    1. Re:Blaming the victim = bad by arth1 · · Score: 2

      It's up to the user to learn how to use the tools. Read the manuals, and understand what things do before attempting them.
      You don't experiment on your only copy of something.

      It's good that this guy is on Windows, though. Imagine the horror of him being on Linux, where almost every command does what you tell it without confirmation. (Which is a good thing.)

    2. Re:Blaming the victim = bad by jtara · · Score: 4, Informative

      In Git, discard means "drop pending changes".M

      It was ALL PENDING CHANGES.

      He never did any commits!

  8. If he's very very smart by Anubis350 · · Score: 5, Insightful

    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
    1. Re:If he's very very smart by Matheus · · Score: 2

      If he was very smart he wouldn't be in this situation and whining to /. about it...

  9. The lessons of BACKUP !! by ripvlan · · Score: 5, Insightful

    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 !!!

    1. Re:The lessons of BACKUP !! by bluefoxlucid · · Score: 3, Funny

      This guy seems to have learned this lesson by displacement. "fuck you fuck you you're all morons fuck how are you so fucking stupid you deleted my files you fucking fucker morons!!!!"

      Sometimes, shit is somebody else's fault; you should probably learn to deal with that, too. This is why I don't just blindly stop at a stop sign, wait 3 seconds, then pull through: the next guy might be about to plow through his red light at 90 miles an hour; maybe I should look first to ensure he isn't a moron.

      This kid will probably die on a motorcycle. Don't let him get one.

  10. Re:Guy made a mistake by Jiro · · Score: 4, Insightful

    Just because the user could have navigated the confusing user interface doesn't mean it's his fault. Microsoft created the user interface.

    By your reasoning there is never any such a thing as a user interface problem because the user could always have done something else.

  11. Been There by ioev · · Score: 2

    Normally I use gitg, but for some reason on one project it wasn't working correctly so I was using VS Code to do the commits. I have definitely highlighted a couple of files and clicked discard rather than stage by accident. Luckily I still had them open in Sublime Text, so I could just undo and save them again, but still, would be nice if this were harder to do.

  12. Wait... by roc97007 · · Score: 3, Insightful

    > f*ck whoever implemented this option

    Probably the same guy who put "logout" in tiny text right next to "restart", also in tiny text, in Windows Server 2012, making every logout of production systems a test in fine motor skills. I'd really like to speak to that person for a few minutes.

    But Dude. Seriously. Backups? If your stuff is important, you need to keep a copy somewhere the computer can't touch it. You are demonstrating a rather naive trust in computer technology, which a seasoned software developer should not have.

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  13. Big Red Button by jtara · · Score: 5, Funny

    "I pushed that big red button and it FUCKING NUKED NORTH KOREA!

    Fuck you, fuck you, fuck you, why would anybody design such a piece of crap!

    Fuck you, joint chiefs of staff!

    Fuck you, football carrier!

    Fuck you, Microsoft, or whoever designed that ugly piece-of-shit fat green-screen laptop!

    Fuck you, Dr. Strangelove! How did we ever hire such a wacko? Nice salute, though! You should
    have fixed that thing a long time ago! I saw the documentary!"

    (Sorry, I'd meant to post this in ALL CAPS, but Slashdot needed to protect everyone from my YELLING...)

    1. Re:Big Red Button by pubwvj · · Score: 2

      Makes me wonder why you didn't keep a backup copy of North Korea... Anything I value highly I keep backups of, preferably multiple backups of, preferably multiple off-site backups of.

      I guess the data wasn't valuable.

      And no, South Korea is not a backup of North Korea. That's a different version fork.

      (I used to do data recovery long ago in another millennium. After recovering someone's data I would (try to) teach them to keep backups. There was one lady who lost her thesis three times. Each time she would have me recover it. I asked her why she doesn't follow my nice instructions about making backups. She replied, "Why do I need to make backups? I've got you. You'll recover it for me." Some people think differently.)

  14. Was an accident waiting to happen by CraigCruden · · Score: 3, Informative

    It could have been just as easily a drive failure that deleted all the data. Instead, it was discarding the changes (and keeping the original version - which in this case amounted to nothing) [my guess not having familiarity with the tool]...

    I have lost a few hours of changes, but I it would be difficult to lose 3 months. You can use free services such as BitBucket for a single committer/project (private repository) as your offsite source control copy. You should also make a local backup and keep a regular offsite backup for important work that you cannot afford to lose. The fact that you get 3 months into a project then start thinking about source control is utter stupidity. It is a lesson this developer will hopefully learn (even if he has to learn it the hard way). On the bright side -- the second time I do something... it is always quicker...

  15. Ridiculing idiots = good by Tailhook · · Score: 3, Insightful

    The flaw in vscode should have cost this guy no more than a day or so worth of work. The fact that in this case the consequence of the flaw was the loss of three months of work is entirely the his fault.

    I recommend he ask for his money back and then learn about revision control tools and source repositories and why competent people use them.

    --
    Maw! Fire up the karma burner!
  16. Commit Often by alancronin · · Score: 2

    I think the real question is - why was he working with a local repository / local changes for three months? You commit often so this does not happen.

  17. Bitbucket and 3 copies minimum by CraigCruden · · Score: 5, Informative

    A single copy on Dropbox that has no SLA with you... is not sufficient.

    You can setup a free account for a private repository on Bitbucket (free for small teams of ... one). (offsite cloud backup).

    You should also be doing regular local backups and rotating them at a friends house as well (3 copies minimum).

    1. Re:Bitbucket and 3 copies minimum by nedlohs · · Score: 3, Insightful

      It depends how important it is. There are many things I would be perfectly satisfied with increasing the "I lose this" chances from "I lose my local copy" to "I lose my local copy and dropbox loses it at the same time". None of those things are my livelihood of course.

  18. Usually takes Unix by painandgreed · · Score: 2

    Ya, it usually takes UNIX to do something like that. I remember one job, I was given and account on the company application and told I was an admin so I could fix the problems that we had just discussed. The boss then told me to get in there and look around. One of the choices was Email, so I went into email as the application had it's own email system (which as not attached to the outside world so it was just used for internal communication). Then I was greeted with 8 or 9 options such as Read Email. So I read my email of which there was already 30 or so, but most were just department wide things and only a few were actually addressed to me. I got out of the Read function and noticed that down below was Delete All Email, right above Create Email Folder. I thought that I could get rid of most of what was spam anyway, so I hit Delete All Email. It asked "Do you want to Delete All Email?" and I said yes. It then said "Deleting Email ...Deleting Email ...Deleteing Email" and went on for quite some time. Then the phone calls started coming in. Seems that option was to delete all email on the server, not just my own. Only admins get that option, of which I was one. I felt bad even though my boss had been telling people not to use that system for quite some time. I felt a little less bad when another newbie did the exact same thing two years later.

  19. question by shentino · · Score: 5, Funny

    Is it ok if we call this developer a git?

  20. Re:Guy made a mistake by ShanghaiBill · · Score: 4, Insightful

    ... and it's Microsoft's fault?

    Yes, it is partly Microsoft's fault. Tools should be designed assuming users will sometimes do dumb things, or sometimes accidentally click the wrong button.

    This guy is clearly a moron, but there are a lot of morons out there, and software should be designed with that in mind.

  21. Re:Guy made a mistake by MightyYar · · Score: 5, Insightful

    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.
  22. Commodore 64 in 1983... by MindPrison · · Score: 3, Interesting

    ...taught me to back up my stuff.

    I remember when I spent my first "programming" hours, at the tender age of 12, painstakingly typing in the program examples in the manual, just to withness the power cord glide out of the mains plug entirely without my help. It happened twice in a row (I got a new computer later on, it was a factory defect).

    But that taught me to always back up my stuff. I remember often making 5-10 backups of my machine language experiments on the C64, this is a habit that has followed me into the modern age.

    I think that's testimony to our times, things work so well that people don't experience losses before it's too late, so they don't feel the natural need to protect their stuff.

    --
    What this world is coming to - is for you and me to decide.
  23. your fault by matushorvath · · Score: 2

    Learn to use proper source control. Learn to back up. Learn not to experiment with new tools on the single copy of priceless data.

  24. A wise man once told me... by internet-redstar · · Score: 3, Insightful

    A wise man once told me: "If it isn't worth to be put in git, then it's not worth to be written". Guess he was right ;-)

  25. Just tried it by Zalbik · · Score: 5, Informative

    So just for fun, I tried it.

    Did he happen to ignore the popup with the big yellow exclamation mark that says:
    "Are you sure you want to discard ALL changes? This is IRREVERSIBLE!"

    At the very least the ALL CAPS WITH EXCLAMATION MARK! should have possibly made him think "Hmmm...this seems to be a pretty important question"

    But apparently he decided: "Ah, screw it. It's only 3 months of my life".

    Given that level of skill, I can't think much of importance was lost.

    1. Re:Just tried it by StormReaver · · Score: 3, Insightful

      Did he happen to ignore the popup with the big yellow exclamation mark that says:
      "Are you sure you want to discard ALL changes? This is IRREVERSIBLE!"

      It's perfectly reasonable to interpret that prompt as meaning, "all changes since my last commit." It's a really bad prompt, and should never have been allowed into the program.

    2. Re:Just tried it by Anonymous Coward · · Score: 2, Insightful

      I think you missed the fact that 'discard all changes' is what he wanted. But it didn't discard all changes. Discard all changes would've undone everything since the moment he last saved or opened a file'. These files were imported into the software, not created there. So the discard state should've been untouched files, not empty the entire directory tree.

      Is the fact that he has no backup hilarious? Oh yes it was. But is this an issue that needs to be fixed? Yes. Most definitely.

    3. Re:Just tried it by PmanAce · · Score: 3, Interesting

      He never did an original commit so all changes since "last" commit is everything, just like you said.

      --
      Tired of my customary (Score:1)
    4. Re:Just tried it by jtara · · Score: 2

      It's perfectly reasonable to interpret that prompt as meaning, "all changes since my last commit."

      And that's exactly what it would have done.

      Had he made any commits.

    5. Re:Just tried it by ilctoh · · Score: 2

      The fact that the operation is irreversible is clear enough. That fact that "all changes" is actually synonymous with "every file, regardless of whether or not you think you've actually CHANGED it" is not.

      --
      How many slashes would a slashdot dot, if a slashdot could dot slashes?
    6. Re:Just tried it by elistan · · Score: 2

      "Are you sure you want to discard ALL changes? This is IRREVERSIBLE!"

      I certainly blame the victim for not having backups. But given the wording here, I don't blame them for not realizing that this would delete everything. I guess the import deleted the source as everything was being imported, after which the files were in a pending state, and the discard then deleted the pending files without putting them back to the source prior to the import...? Or maybe the import process marked the files as "these belong to me now" inside of VS, with a pending status, and the discard is programmed to delete pending files regardless of how they became pending? Either way, that sounds like a flaw with the program not VS. Of course, perhaps during the import process there's some big red warning saying "This import process marks all files as pending and does not preserve the source of the files, so discarding these files will erase the source you are importing from unless you commit them."

      Disclaimer: not a VS user.

  26. Pulitzer Prize post ! by gosand · · Score: 2

    A random guy posts a rant on MS github page, gets 8 responses, and it becomes a story on Slashdot?

    Some days I really question why I still read this site.

    --

    My beliefs do not require that you agree with them.

  27. Re:3 months no backups... of course blame the dev. by networkBoy · · Score: 5, Insightful

    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
  28. Re:Guy made a mistake by TWX · · Score: 5, Insightful

    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.
  29. SVN by JBMcB · · Score: 3, Informative

    To be fair, I was using an old version of subversion, and issued a delete to a particular project branch I was working on. I deleted the project from that branch, and every other branch, along with every version. From everywhere. Not what I wanted. Not even what I asked. Turns out it was a bug triggered from upgrading the app on the specific platform I was on (I think it was Cygwin?)

    I had another machine with an old trunk that I recovered from, but still, crap like that happens even with source control.

    --
    My Other Computer Is A Data General Nova III.
    1. Re:SVN by F.Ultra · · Score: 3, Informative

      A delete in svn does delete the local files but the files are still there in the repository, a delete is basically a flag for the file there. If it where very old version of svn there might even been a local copy left in hidden .svn folders all over your project folder full with the old files.

  30. Developer? Sure? by williamyf · · Score: 3, Insightful

    From The Sumary:

      "I had just downloaded VScode as an alternative and I was just ***playing*** with the source control option"[emphasis mine]

    So, you are a ***profesional*** "developer"?
    And you ***play*** with three months worth of important-non-backed-up stuff?
    Without RTFM?

    Sorry, but IMNSHO, that dude is a MORON (all caps intended).

    If you do not believe me, RTFA. I know that is not customary on /. but just try, is quite short...

    I know that bashing all things microsoft is fashionable on ./ (I've done so a few times myself), but this making front page is a new low in clickbait by the editors...

    --
    *** Suerte a todos y Feliz dia!
  31. Developers strike again by smooth+wombat · · Score: 3, Insightful

    It's funny, every time I mention how bad software is I get modded down. Not necessarily any particular software, but software in general. Between clunky interfaces, having to go spelunking to find what you want, bloat, you name it, software today is not a pleasure to work with.

    Now this person, a developer in their own right, is complaining about another developer(s) who apparently couldn't see their way to not destroy file.

    Welcome to my world, where every day it's a war to try and find solutions to the incompetence of software developers.

    --
    We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
  32. almost as idiotic as not backing up... by kbdd · · Score: 2

    If your work is important to you, backup and don't use it an an experiment to try new tools. Otherwise, don't be a bitch. I made my case...

  33. I clicked discard... AND IT DELETED ALL MY FILES by QuietLagoon · · Score: 2

    Obviously his work was not something that he cared about since he had no backups. So I do not see why he is complaining.

  34. Re:Guy made a mistake by Nemyst · · Score: 4, Informative

    I'll agree that the language could be clearer, but it does show this popup when you try doing this right now. That should be a hint that something bad might happen, I'd say.

  35. Git out of here, its great. by TiggertheMad · · Score: 4, Insightful

    A single developer shouldn't be using git.

    Why not? I use it for all my projects, if for no other reason than to not be this guy. If I delete all my local code, its on a server and multiple other systems. it is cheap, simple and keeps everything in sync.

    I have had non-coder friends who have heard about git, and asked if it would work for non-code digital assets. (Pictures, e-books, music, etc).

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re:Git out of here, its great. by darkain · · Score: 4, Informative

      Totally this! I've been coding for some 20 years now or so. Even for small personal projects, they go into a managed repository. I lost about a week's worth of code in my youth, then I learned about Microsoft Visual SourceSafe, their local repository system. Then I transitioned that over to Source Offsite, a networked version of SourceSafe. This progression then moved through the ranks of CVS, SVN, and now to GIT. Having version control has so many benefits for even single devs, like diffing revision history. "How did I fuck myself up? Oh yeah, I can just check my commit history!" - This has saved my ass countless times.

  36. Re:3 months no backups... of course blame the dev. by KingMotley · · Score: 5, Insightful

    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.

  37. Why by jemmyw · · Score: 3

    Why is this story here? Did the byline change to "News for idiots, they stuffed up"?

  38. Re:This guy was working 3 month on the same files? by angel'o'sphere · · Score: 2

    And why don't you use a version control system instead of a set of back up directories?

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.