When you write code every day, it sure helps to keep backups. And working in the Microsoft stack, the tool of choice is Team Foundation Server or TFS. It's a web based version, often hosted in the Cloud which allows source code backups. You can assign permissions to users who authenticate and have access to folders, can add, modify or delete files. It allows for versioning so you can see what changes occurred when and by whom.
You may be familiar with it's predecessor Visual Source Safe, which was a client server application. Very similar, except it shipped with Visual Studio 4, 5 and 6. I was actually the VSS Admin at a few prior jobs.
Except the past two weeks, I've been bitten by TFS which almost caused actual code loss. In one scenario I attempted a roll-back to a prior version, there was a conflict and something went wrong. My only solution was to grab the latest code from SharePoint which luckily keeps versions as well.
And this week, I accidentally clicked on "remove from project" on a particular file, which deletes it from TFS. So when trying to "Undo Checkout" it complained that the file no longer existed locally. Luckily my boss assisted and we applied the Undo on the server rather than on the client and it restored successfully.
Uhg. Double Ugh. I've not had this many blunders in quite a while. And with the same application. And code loss is some serious business. Luckily, I was spared such fate.
So all is well, except I will never ever attempt a rollback on source code if my life depends on it. The correct way is to store off a copy of the code, check out the files, overwrite them locally and upload back to the server.
Man, I need a vacation. Wait a minute, I just got back from vacation yesterday. Oh well, hopefully the source control Gods look favorably on my code going forward.
And so it goes~!