Is SVN better than TFS?

These days I’m convincing some colleagues and managers to not use TFS and use SVN instead. I’m pretty sure that SVN fits better into our hardware and knowledge limitations. Additionally we are going to use TFS just for source controlling.

For me, SVN has many advantages over TFS even when pricing is not a matter:

  1. SVN can be installed on old machines; it requires just few mega bytes of hard disk. It also does not need additional resources like MS SQL.
  2. SVN has a very larger user community than TFS.
  3. SVN is common in open source world but TFS not.
  4. SVN can work disconnected, and supports patches.
  5. More companies use SVN than TFS (near me).


  1. Mike B

    Hi Afhar,

    In my experience, many open source projects are switching from CVS or SVN to Git. Git has many advantages as it is much easier to work on separate sets of data, and it's easier also to track changes to different files. For instance, if you'd like to know what changes were made to fix bug ABC, if that would be multiple files, that's not easy to see in CVS. In Git, it's much easier to recognize this.

    Also, if you would want to view the history of a file, you don't have to retrieve that information from the server, you can see it on your local machine. This means it's much faster, and you can also retrieve this kind of information if you're on the road with no access to internet.

    The project I work on, OTRS, will also be moving to Git (from CVS, in our case) in the future.



  2. mnuttall

    About a year ago my team was pulled into another team. They use TFS and we use SVN. So, on occasion i have had to use TFS. TFS is a pain. It is tightly coupled with VS.NET and is very inflexible. Checking stuff out and then killing the location doesnt seem to work. SVN, on the other hand has many "User Interfaces" and can be file or server based.

  3. Martin Kulov


    I think you have wrong impression over TFS or just you have a little older information.
    TFS 2010 can be installed on Win7 client machines in lightweight installation. It does support single developer concept.
    TFS has great support and community is also not small at all. You should check Microsoft web site and Codeplex for available tools and extensions.
    TFS can work in disconnected mode.
    In TFS changes can be associated with Bug so you can track all of them easily.
    TFS is not tightly coupled with Visual Studio. There is web interface, a Windows Shell integration, Power Shell scripting and Eclipse plugin.
    There are plenty of changes in new TFS 2010 you should probably take a look at it.

    Martin Kulov [VS ALM MVP]

  4. Dan

    We use TFS2008 at work, most people don't like it. Though all would agree it's vastly better than VSS. But coming from SVN at my previous gig it's just so far behind. Rolling back isn't easy you have to install the powertools. Associating changesets with workitems is a nice idea. but the interface is clunky and slow. Also SVN has this with a plugin easily. You also don't seem to be able to merge a WorkItem either without an external tool. We don't seem to be able to work in a disconnected mode. creating branches is very slow. switching between branches is very slow. We consider it 2hrs work just to swap branches, it should be easier. The real thing is that people don't trust it, we worry it'll mangle our source. I'm sure TFS2010 is vastly better and really it needs to be.

  5. Meysam

    TFS is a BIG Project Managment Software which SVN is a small part of that.SVN just handles the source controlling which this role is a preliminary feature of TFS and also this capability was fully functional in Visual Source Safe(well, there is a much hard-function).
    With TFS there is no more needs for any issue tracker/bug reporter/process reports/version controlling/daily build and very different features that i can write a book with more than 1000 page.
    keep your mind that PM is a big role in team management and is a SKILLFUL job, hence there is no force that a developer learns it from A-Z
    if you have any suggestion write new post(i follow your blog) or email me.

    persian:maziat SVN in ham hast ke Mr nasiri yek jozve ye farsi tagriban kamel daran!!

  6. Olivia Jennifer

    An agile process tends to focus on iterations, and client
    feedback, to allow for the inevitabilty of changing requirements whereas a
    waterfall process tries to define all requirements up front, and tends to be
    inflexible to changing requirements. You can learn more about agile and scrum
    by referring to some free resouces
    ( provided by scrumstudy or by
    attending any agile
    scrum certification
    courses. I would personally suggest Agile Expert
    Certified course or Scrum
    Master Certification
    to you.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *