Best Version control system?

Discussion in 'Programming' started by bluematrix, Aug 4, 2012.

  1. what is the best system to be used with microsoft technology - visual studio?

    1. Subversion/SVN
    2. Git
    3. Mercurial
    4. Bazaar

    edit: and what about Team Foundation Server ??

    I appreciate serious input from your experience.

  2. TFS, simply like that.

    Your question has one big problem - you look at version control ONLY.

    TFS gives you so much more fully integrated is not even funny - unit testing, work item tracking, integration with Sharepoint for documentation etc. and with the new 2012 version, out like any week now, even code reviews.
  3. Have you used TFS extensively? how does its version control support compare to others (have you tried others?)

  4. I do IT for a living for 20 years. Yes, I have used it extensively, as well as others. Right now with a customer I struggle using AcuRev and it's CRAPPY integration.

    TFS is a Source control system that is centralized (good in my opinion - I want a central repository) and it does what it does well. Jsut it is not fair to use it as version control system. It does more - and the more make it dominating good. You do not have to use 4 or 5 different software packages, ONLY TFS. That is the main advantage.

    Otherwise it has a good integration into Visual Studio. This is important if you compare it to the CRAP some others deliver in this place (AccuRev, for example) ;)
  5. TFS is great if you use VS, only. I love subversion/SVN the most because you can pretty much version control anything, even run backups of folders completely unrelated to code in .Net. I am not claiming TFS cannot do that (I doubt it at this point) but it will surely be more complicated than simply right-clicking any folder, adding and committing it. Microsoft generally makes things a lot more complicated, maybe to make the people who earned their MVP designation worth more than the paper its printed on.

    I respect your experience, but TFS pretty much comes out in the bottom third in comparison with all other version control systems worth their salt. Check out posts at Stackoverflow, a site I really like and often peruse. Its a forum of/for/by professional programmers and IT related people.

  6. For a solo developer who is strictly looking for revision control, I think SVN is the best bank for the buck (given that it's open source). If you are dealing with a team of developers, the tight integration between your repository and your IDE, code reviews, and documentation are obviously strong selling points, but if you're just coding with VS out of your house, it's probably overkill.
  7. Given my experience with SVN I would not touch it with a 20 feet pole even if for free. Seriously. All projects I was in had probems - not sure why, but we regualrly had people getitnoug outdated sources, having problems checking in etc. In 2 proejcts so far, both more than 10 people.

    Even single, I think TFS rules IF (!) you ahve it for free (5 user version is aprt of MSDN) and have the infrastructure. Unless you do terrible simple stuff (like strategy development) integraetd unit testing AND work item management (which also means release planning) is not to be taken lightly. TFS manage all that in one place :)
  8. Thank you for your thoughts..

    After reading a bunch of reviews, discussions, comparisons on various sites I've gathered some important points:

    1. SVN/subversion is basically history, there are much better options out there (Mercurial/Git) that have much better/advanced capabilities.
    2. Git comes from the Unix world, and while it appears to be the choice of pro users, Mercurial seems to be the better choice for windows users.
    3. Git definitely seems to be the most flexible and powerful with lot of big name followers such as google, android, eclipse, twitter, microsft etc..
    4. Git and Mercurial don't requrie a server (see while TFS requires a server. local copies of files are read-only in TFS.
    5. Mercurial appears to be more clean and elegant.

    I have now decided to install and test run both Git and Mercurial. Although I'm still not convinced on TFS I will continue to read on it. I know it does lot of extra stuff - project management, reporting etc but when was the last time u used any of that? and we're not talking about enteprise development team anyways.. will still investigate further though.

    edit: I think unit-testing is waste of time and space. but that's a whole different topic.

  9. The last time I use TFS tasks? Today.

    I have 2 people working on systems. Makes my little shop a 3 developer system. Guess what - we use SCRUM, we use tasks, we track bugs in TFS ;)
  10. you have it installed on a server right? - so it needs a server to run as a service? or can it be run on a network drive? and is it correct you a get it free with msdn subscription? thanks
    #10     Aug 5, 2012