Alternative to SourceSafe in a Commercial Environment?
Jim the Bad asks: "After Visual SourceSafe inexplicably corrupted itself one time too many, my Boss has asked me to evaluate the alternatives.
This site lists some alternatives, and SourceForge is a commercial product that might suit. Are there any more? It must be rock solid, run on Windows and it must be possible to migrate existing SourceSafe databases. Developer Studio integration is also very desirable. What product would you recommend?"
Your Visual Studio integration requirement is a doozy. I haven't seen anything that works as well as VSS, but then again, another recommendation is to stay away from that anyway. Always use the Explorer or the command line tools.
Finally, the alternatives. Well, there's the Very Expensive ones which I won't list because you probably know them anyway and, well, they're hideoulsy expensive.
Then there's CVS. An el-cheapo box running Linux or BSD with decent HDD space, and WinCVS or TortoiseCVS can't be beat. I've successfully migrated some development teams to this setup (along with Bugzilla) and while there's a learning curve, it's certainly much better. Plus, developers can work from home seamlessly, which is generally not the case with VSS. There are lots of tools and help out there for CVS. Give it a try, you won't be disappointed. Plus, it's cheap!
If he's looking for good version control then CVS bites big donkey dick.
Okay, I agree that CVS isn't perfect, but it certainly doesn't "bite big donkey dick". It's fairly straightforward, it's used by many, many folks out there, and there's good integration with lots of *other* development tools.
Frankly, I think that most of the people saying that CVS "sucks" read about how someone else found it lacking, and love having something to sound bitch about. Most people that have used CVS have probably run into the same issue that I've run into: CVS doesn't handle renaming source files.
And you hate CVS but recommend *PVCS*?
May we never see th
It supports branching (a must if you ever plan on releasing a V2 of anything), which, although CVS claims to, CVS does it very badly.
It is quick.
It is EASY from an administration standpoint. Easier then VSS. Other then checking your backups once in a while, you never mess with it. It really is "install and forget".
It allows the possibility for work to continue despite network problems, although I admit this is a bit ugly.
It has atomic changelists. Unlike CVS, where each file is submitted independently, all files are submitted and succeed or fail as a group. So an entire feature either gets there or doesn't. This also lets you remove the entire feature with one command, and lets your QA department know exactly what has changed (They can ask the developper who submitted the change, "What does this do?" rather then having to ask that for every file that was part of the change - MUCH less work).
It is cross-platform, on just about anything you'll need it on (including Linux).
It even has MS Office integration if you want that.
It has a valid security model, at least when compared to VSS (which has absolutely no security IMHO - yes, you can set passwords and protections and such, but changing a few bytes in the client will nullify those protections!).
I can't recommend it highly enough. It isn't cheap, but neither is VSS.
PVCS - My software company migrated from MS VSS to PVCS, it works much better - but - at least for our relatively large project, it's kind of slow. We've been using it for about a year and it's worked well.
Clearcase - Rumored to be "THE version control system", I've heard it is complicated to setup and use, but Rational Clearcase is supposed to be the end all of version control systems. Checking out the link before posting, it seems that Rational software is now owned by IBM?
Starteam - I evaluated this product a while ago (18-24 months or so ago). It seems that this company has been purchased by Borland. But at any rate, Starteam seemed to be a very comprehensive version control system. We didn't choose Starteam - as many of our developers had already had PVCS experience and at the time Starteam was the new-kid-on-the-block and we didn't want to fight with a new product. We already had enough headaches with MS VSS, we wanted something we knew for certain would be tried and true. That being said, Starteam did look great.
Last but not least, CVS the open source version control system. I've used it a few times, but never set it up or configured it and can't really comment on reliability, etc. I'll assume it's great - I'm know others have mentioned CVS and I'll leave the people that have used it to give you more information.
Note that Microsoft most certainly do not eat their own dog food. At least, they certainly did not then (1998-1999).
No, they still don't - they've got an internal replacement that's command-line only. AFAIK it's basically VSS rewritten to overcome the file size limit. I'm not aware of any moves to sell it but in any case VSS always struck me as a hack developer tool boxed up and sold rather than a polished product. But I've no complaints with it - it's sold to developers who can cope.
But that aside, there's nothing fundamentally wrong with VSS. You need to properly configure your server to handle the file locking, not to virus scan the VSS database, etc., but then it just works. It's a different branching paradigm to CVS, sure, but it works well (c.f. subversion that uses this too). And the multi-checkout-merge stuff works as well as CVS's.