Source control in its many flavours is an extremely important part of any programmers toolkit. Saving you from yourself, saving you from others and of course sharing and collaborating with your fellow man (or woman).
In spite of its importance however, I have encountered some pretty special howlers that I share here for your amusement. When the giggling abates, consider this a DON’T list on source control.
Calling a Git branch HEAD
Yes this happened. Not sure how, not sure why. If you’ve ever used Git you’ll know why this is a really bad idea, and I refuse to credit it with any further explanation. Just don’t.
Sourcesafe first hit our desktops in 1994. There was a facelift in 2005 but the fundamental concept remained the same. 1 branch, exclusive checkout. Forwards, backwards. Those are your options.
To be fair, the organisation in question is not alone in their continuing use of it, but VSS should have been retired many years ago. When it was released it was better than nothing at all… but then progress happened. Move on.
Anyway, Sourcesafe’s plethora of limitations became particularly evident this week when breaking changes were made to some shared core libraries. With no branches there’s no choice – everything was getting a taste of that change. And everything not immediately important to the developer concerned didn’t like that taste. The time, effort and ultimately money involved in dealing with this demonstrates precisely why you don’t need Sourcesafe in your life anymore.
Microsoft agree btw, it’s finally out of support in July. And not a moment too soon in my opinion.
The detached HEAD
This is almost as unhealthy as it sounds. There are legit reasons why you might have such a condition locally (programmatically as opposed to cranialy), but for goodness sake don’t go and force push it!