Hi,
I'm just coming into a company on what is essentially my first gig as a team member rather than the sole Windows developer, and I'm not liking the current version control setup.
We're developing for Windows machines using VB.net at the moment, with live software dating back to VS2005, being updated to newer Visual Studio versions as and when major upgrades are made to the software. Most jobs are admittedly one-developer-at-a-time things, so there's possibly not as great a need for good version control as there is on larger, multi-developer projects, but what we've got now sucks pretty hard, so I'm trying to put together a proposal for something that sucks less.
First problem is that they're still using SourceSafe (Boo! Hiss!), but everyone seems pretty open to moving over to something else if I can come up with an alternative. SourceSafe isn't the reason for my question, though.
Basically, there's a single SourceSafe repository, and into this has been thrown every single project that's ever been worked on in the company.
The "layout" (such as it is) of the repository is that if it's a startup project it goes in root directory of the repository, and if it's not a startup project it also goes in the root. If it's a non-startup project which has [companyName] at the start of its name then it goes in the top level of the [companyName] directory. Certain other non-startup projects live in [companyName], too, even if they don't have [companyName] in the title.
Trying to pull a project off the repository onto a new machine breaks the .sln file of the project because you lose whatever directory structure was on the original development machine. I've never been entirely sure whether I'm supposed to be creating a new .sln for each new machine or not, though, so maybe that's just my own screwup...
Anyway, basically, the "system", or lack thereof, that we have now is so obviously and blatantly broken and wrong that I can't even work out how we should be doing it other than "Not like this". I'd like to hear what the community's opinions are on how best to run a revision control system, what practices to follow, and links to any articles I should be reading in order to put together a proposal for switching to another, better-organised system.