Friday, September 11, 2009

Source Safe woes

One would believe that Visual Source Safe has been long since retired, but no.

I am in one of those rare occasions where I have to deal with it.

One thing that struck me after yesterday’s mishap, is: With Source Safe we are set up to fail. This has nothing with poor or broken functionality, but with a totally broken usability.

Source Safe is a source control versioning system, built around the following concepts:

  1. A developer checks out his files. As long as they are checked out, no one can change them.
  2. All files are versioned, and has a history.

So why did they built in the following wtfs?

  • When you check in a file, you are asked if this is what you want!? You can dismiss this dialog, but what did they think? That I really want to delete my precious work? So what, if I check in the wrong code. That’s what the versioning part is there for.
  • When there are conflicts, you are presented a dialog asking if you want to overwrite yada, yada with the usual Yes / No / Cancel / Ok / Help options. Sad thing is, Source Safe does not ask you for the safe thing to do. The question you are presented is not if you want to check in your conflicts anyway, but if you want to overwrite your local files.

With these behaviors built in, why have the versioning at all?

I committed the two following sins: I never checked in during the day, so I had too much to lose. And when presented with the conflict dialog, I should have gone completely paranoid and zip all my work files.

No comments: