Slashdot Mirror


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?"

26 of 102 comments (clear)

  1. A coupla things by The+Bungi · · Score: 4, Insightful
    First, VSS is a crap version control system (if only because it's not client/server), but it doesn't corrupt itself randomly. You need to keep your database sizes to under 1GB or so, run ANALYZE on the thing at least every week (or more, depending on the activity) and generally keep binaries (especially large ones) off of it. Just because the thing has a pretty GUI doesn't mean it also takes care of itself. And of course, backup your database(s) often.

    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!

    1. Re:A coupla things by Circuit+Breaker · · Score: 4, Informative

      I haven't seen anything that works as well as VSS

      Try Jalindi Igloo (search google for it). It integrates with VS6 as well as, if not better, than VSS. And Tortoise is simply the best UI for version control I have ever used.

  2. Went from VSS - CVS by HalfFlat · · Score: 4, Informative

    We used Visual Source Safe at the beginning of our project (about 10 programmers), despite calls for using CVS instead. VSS did not last three weeks. It is the embarassment of the revision control world. It is Just Broken.

    Note that Microsoft most certainly do not eat their own dog food. At least, they certainly did not then (1998-1999).

    We threw out VSS. Moved to CVS, despite losing Visual Studio integration and past revision history. In fact, we just used CVS from a command window. It worked, and worked well.

    There are commercial and free products now which probably fit your requirements. But if you can't find one, you still ought to ditch VSS and go with something that actually works. It doesn't matter how convenient your source control system is if it doesn't actually control it, or like VSS, actively corrupts it.

    1. Re:Went from VSS - CVS by inepom01 · · Score: 3, Informative

      You didn't have to lose your history or anything. There's a perl script, found here that will migrate your stuff. It is quite nice, and works with revision histories and all. The vss2cvs.pl script will migrate your stuff and another script (don't remember which) will migrate your revision histories.

    2. Re:Went from VSS - CVS by Anonymous+Conrad · · Score: 2, Insightful

      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.

  3. Bitkeeper by mTor · · Score: 3, Informative
    Give Bitkeeper a try: http://www.bitkeeper.com/

    I use it and I'm very happy with it. Heck, even Linux kernel is maintained with it.

  4. SourceForge is not what you are looking for by halfnerd · · Score: 3, Informative

    Or at least i think so. If I understand this correctly then sourceforge is just like sourceforge.net - a hideously large database of projects. I don't think that's what you are looking for. CVS is tested and good. But it has some problems. Go check out subversion too - subversion.tigris.org, it's a cvs-like tool that has fixed many of cvs' inconveniences.
    and BitMovers BitKeeper is used for the Linux-kernel, so it has proven to be very reliable and extendable too.

    1. Re:SourceForge is not what you are looking for by The+Mayor · · Score: 2, Interesting

      Does anyone here have any real world experience running Subversion? It has lofty goals, and I've d/l'ed the PC version to play with, but how does it handle 100s of programmers retrieving the latest version for a rather large project? I'm really interested--I love the TortoiseCVS interface, and probably won't change the version control without something similar (there's a subversion version of Tortoise, so I'm happy with that). And any change in version control systems must at least improve upon CVS.

      --
      --Be human.
    2. Re:SourceForge is not what you are looking for by Anonymous+Conrad · · Score: 2, Interesting

      Does anyone here have any real world experience running Subversion? It has lofty goals, and I've d/l'ed the PC version to play with, but how does it handle 100s of programmers retrieving the latest version for a rather large project?

      The subversion project is itself hosted in subversion - that's probably the biggest public one.

      There were complaints a few months back about insane memory usage for commits (256mb+) but I think that was a berkeley db bug. Can't remember if it got resolved or not. I'm sure it will be before svn 1.0.

      The GCC project have CVS scalability issues and would like to migrate to subversion and there are a few GCC guys on the subversion mailing lists, so they at least have confidence in it.

  5. Gforge by R0 · · Score: 5, Informative

    Gforge is an opensource fork of Sourceforge (What irony?). You can buy support for it too.

  6. Make up your mind... by merriam · · Score: 4, Funny
    It must be rock solid, run on Windows...

    Well make up your mind and pick one.

    I know, I know. But someone was bound to say it.

  7. FreeVCS by apocamok · · Score: 3, Informative

    At work we switched to Freevcs after experiencing one too many VSS database-corruptions.

    FreeVCS is a free (as in beer) client/server VCS, using a relational database such as Firebird or Microsoft SQL Server. It is a stand-alone product, and as such offers no integration to Visual Studio (although some integration to Borland Delphi exists)

    The original author has stopped development and released the source to the open-source project JediCVS.
    JediVCS have yet to produce a release, so for now stick with FreeVCS.

    1. Re:FreeVCS by Scaba · · Score: 2, Funny
      ...relational database such as Firebird...

      I'm confused. I thought Firebird was a browser? How can two unrelated products have the same name? ;>)

  8. RE: Alternatives to Visual Source Safe by iid_iunknown · · Score: 5, Informative

    I have always preferred Rational ClearCase over VSS and have also used a new product from SourceGear called SourceGear Vault which claims to be a compelling replacement for VSS. Well, guess what? They're right. Not only is it a better SCC, but it also has tight integration with both VS *AND* the classic remote access products from SourgeGear (ie. SourceOffSite) for your offsite development staff. Both are recommended, but the Rational tools are a bit pricey for smaller shops. I believe that a 5-node version of SourceGear Vault is priced around $599 (if you already owen SQL Server), or $999 (which includes a SQL Server license). Take a look at SourceGear Vault

  9. MKS Source Integrity by marko_ramius · · Score: 3, Informative
    http://www.mks.com/products/sie

    Secure, stable, fast, multi-platform, good integration with issue tracking system.

  10. cvs - tortoise - jalindi igloo by patazathoth · · Score: 3, Informative

    cvs as the engine, you can install it on windows or on a cheap linux box (I prefer the later).

    tortoise as the gui, it integrates in explorer directly, no need for a seperate program or GUI it is simply intuitive.

    Jalindi Igloo as the dev studio integration. I've use it for a while and it was working as well if not better than VSS.

    I've used vss for 6 years (during my redmond era) and had allright success with it but had to check the integrity of the database and we had to use backup a few time.

    We started using cvs when OSX came out and had nothing but success with it. It has its limitation but it is straight foward and I even think it is Open Source (correct me if I am wrong) so if you don't like something, just change it!

  11. Perforce by jmaslak · · Score: 3, Insightful

    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.

    1. Re:Perforce by yandros · · Score: 2, Interesting

      Node-locked named clients, and the lack of flexibility that goes with them, are a large PITA. Branching is better in Perforce -- IF you're on a fast, secure network connection to the server.

      Remote access security in Perforce was terrible when I used it last (about 3 years ago), but maybe it's better now. Attempting to shoehorn it over ssh produced effects much worse than CVS.

      Running a dedicated SQL server for your VCS is a bit of a pain -- or ours was especially bad in some way, 'cause it needed to be taken down for maintenance WAAAY too often.

      Perforce is a pretty nice VCS for a dedicated group sitting at exactly the same desktops, on a closed/protected net every day. Even better if those desktops all run the same version of Windows. Introduce laptops into the mix and things start to get tricky. Try to add a developer base who migrate between working locations (like `home' and `office') and want to be able to work in both places, and you'll find yourself missing the good old days of CVS.

    2. Re:Perforce by CompVisGuy · · Score: 3, Informative

      I have used Perforce (as a developer, rather than as a respository admin).

      I found Perforce to be an excellent VCS; it integrated very well with our workflow -- once your developers know the basics, the system works very well. As far as I know, it has many advantages over MS's SourceSafe -- try and stay away from the MS stuff if you can.

      There is a Windows GUI for Perforce, and it works well under all UNICES, Windows and others.

      I strongly recommend Perforce. Simple as that.

      Having said that, Perforce isn't free, and CVS is. I currently use CVS and am reasonably happy with it. The TortoiseCVS Windows client makes integrating the use of the VCS into workflow easy. However, CVS does have some problems, and the Subversion project is trying to solve these. I think most people find learning CVS a steeper learning curve than learning Perforce.

      Bottom line: If you can afford Perforce, go with that. If you are prepared to live with CVS's steeper learning curve and problems (these are minor -- CVS is the de facto standard for VCS among the Open Source software movement), or want cost free version control, go with CVS.

      --


      "The noble art of losing face will one day save the human race"---Hans Blix
  12. Free-as-in-beer for open source work by smileyy · · Score: 2, Informative

    Perforce is free-as-in-beer for the development of software that is licensed exclusively under an Open Source license.

    http://www.perforce.com/perforce/price.html

    --
    pooptruck
  13. Re:CVS *does* "bite big donkey dick" by mbogosian · · Score: 2, Informative

    Fortunately, I don't have to deal with that crap anymore, as I'm now using Perforce. It's certainly not perfect, but at least it doesn't bite big donkey dick.

    Perforce is actually a pretty decent product. Personally, I prefer the command line interface, but there are plenty of third-party GUI tools which emulate the P4 windoze client.

    One thing Perforce does seem to have difficulty with (and I'm not sure if this is just the result of user error) is a TRUNK (i.e., HEAD) = PRODUCTION development strategy.

    In other words, your mainline sources always reflect what is (or is about to be) in production (that is, assuming you only release from one branch, like a website or something). To start a new project you branch from the mainline (or another branched project) and when you're ready for alpha testing, you release checkin restrictions on the mainline, merge your changes for the project back into the mainline, fix conflicts, start testing and make any repairs to the mainline. Then when, you're ready to release, you freeze the mainline again, tag it and push it to production.

    I know you're probably asking, "why the hell would you do that?" The answer is that, theoretically if you've got one product you're releasing, but like to work on several different versions concurrently, then this branching strategy makes sense.

    The problem with Perforce (and, again, this could be because of user error) is that it seems to generate unnecessary conflicts when merging back into the mainline. I don't know if this has been made easier in recent releases, but you may wish to make branching and merging a high priority test when evaluating any VCS software.

  14. Not exactly a "major money-maker" by leonbrooks · · Score: 2, Informative

    As I understand it, they're having a hard time selling the SF code, and to add insult to injury at least one of the original developers also have a Free competitor up.

    --
    Got time? Spend some of it coding or testing
  15. Alternatives to VSS by wrero · · Score: 3, Insightful

    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.

  16. Re:Hardly a suitable place to discuss this by Anonymous+Conrad · · Score: 2, Informative

    I'd suggest discussing this on a non-OSDN sponsored forum. Whilst I trust editorial integrity here, any positive appraisal of Sourceforge will (quite rightly) come under suspicion, with this being the major money-maker for those bank-rolling this site.

    But sourceforge isn't a VSS competitor - it's a whole-process management system. Its competitors are Clearcase, Sourcecast or the free system aegis. Clearcase has its own source control system but the others are built (AFAIK) on top of CVS - *that's* the VSS competitor here.

  17. Re:Why aren't they client - server? by vivarin · · Score: 2, Informative

    Both Perforce and Subversion are client-server. Perforce is excellent -- I haven't used Subversion.

  18. My team is a Windows VSS-CVS switcher by catscan2000 · · Score: 2, Informative

    I was checking in source code in VSS, and it was like "bleep, bleep, bleep, bleep, bleep!" And then, like, half of my repository was gone. It was a really good repository. I had to code it again twice as fast so it wasn't as good. It's kind of.... a bummer.

    Anyway, our VSS never crashed after using it for about 5 years, but ever since I was hired three years ago, I advocated for CVS. I learned a lot in how to initiate change processes, and after about a year, I put together a document comparing the feature sets of VSS to CVS. JBuilder integration with CVS was a nice feature, since that's what we use, It was CVS's excellent branch management capabilities that ultimately drove us away from VSS, since we were starting to need to do branching on stable releases during the next version's development cycles. VSS sort-of does branching, but very poorly. I had to document WinCVS 1.2 myself for the development team, but since the switch, our revision control management has been substantially more useful, and now we have a sense that it's working for us rather than working for it like with VSS.

    We didn't need any BSD or Linux boxes. We use CVSNT at http://www.cvsnt.org and it works like a charm :-). It runs as an NT service, and we're currently running it in pserver mode. It supports NT authentication, but my development team is spread across several domains since it's a multi-organization development effort. In your case, NT authentication probably works, or if you're using ActiveDirectory, it supports kerberos and other stuff, too :-).

    We're going to set up the ViewCVS web interface soon so that we can get server-side views of our repository. The TortoiseCVS (sp?) Explorer integration is very nice, too, so you can see what files are modified and such right in the Explorer.

    For us, CVSNT, WinCVS 1.2, and TortoiseCVS works very well :-), and it's all on Windows.