InfoQ

News

VisualSVN – An Alternative to Team Foundation Server

Posted by Jonathan Allen on Dec 10, 2007 06:55 AM

Community
.NET
Topics
Artifacts & Tools
Tags
Source Control ,
Subversion

Developers looking for an alternative to Visual SourceSafe have a lot more options than shelling out big bucks for Rational ClearCase or Microsoft's Team Foundation Server. Today we introduce VisualSVN, a commercial Subversion offering.

Usually installing a source control provider is a major endeavor. ClearCase and Team Foundation Server both have a lot of dependencies that have to be manually installed and configured. The VisualSVN company decided to spare its customers that hassle. Their all-in-one Windows Installer package combines Apache, Subversion, and the management tools. With this taken care of, a simple step-by-step guide suffices for setting up actual code repositories.

VisualSVN includes add-ins for all non-Express versions of Visual Studio 2003, 2005, and 2008. Unlike most source control providers, VisualSVN does not support MSSCCI. Citing differences between the SourceSafe and Subversion models, they decided it was not a good fit.

While it does provide a nice GUI and is downright cheap, 49 USD/developer, it ultimately is still just Subversion under the covers. Like any Subversion variant, it suffers all problems of a branch-based source control system.

5 comments

Reply

Team Foundation isn't about source control, however. by Francois Ward Posted Dec 10, 2007 8:23 AM
Re: Team Foundation isn't about source control, however. by Robert Bazinet Posted Dec 11, 2007 7:48 AM
Problems? by Thomas Mueller Posted Dec 10, 2007 10:32 AM
Re: Problems? by Jonathan Allen Posted Dec 10, 2007 11:25 AM
Re: Problems? by Alex Popescu Posted Dec 10, 2007 7:14 PM
  1. If you're considering Team Foundation Server, and all you need to fullfill your requirements is source control, you're about to make a big mistake: Team Foundation is a large solution with a vast array of project management and tracking tools, one of which is a source control, but the later isn't its strong point (it is good, but a lot of source control systems are far, far better).

    Only consider TFS if you're planning on using these features, otherwise, anything (except sourcesafe!) is a better choice (for money reasons or otherwise).

  2. Back to top

    Problems?

    Dec 10, 2007 10:32 AM by Thomas Mueller

    it suffers all problems of a branch-based source control system.
    And what are those problems?

  3. Back to top

    Re: Problems?

    Dec 10, 2007 11:25 AM by Jonathan Allen

    One alternative is stream-based source control, wherein there is an explicit parent-child hierarchy between branches/streams.

    This simple change can drastically alter how even basic operations occur. For example, in a branch-based system you usually merge your changes into the destination branch.

    In a stream based system, you first "rebase" your child stream with its parent and do the merging locally. When you then push your changes up, there is no possibility of conflicts.

    This constant resynchronizing or "rebasing" of streams keeps everyone working on a similar code base while still allowing lots of cheap branches. It can also greatly reduce the need for the large scale, complex merges that can occasionally tie up development for days or even weeks.

    Of course there is a downside. Stream based systems require a centralized repository that everyone has access to. It does not lend itself to the loosely connected network of repositories so popular with open source projects.

  4. Back to top

    Re: Problems?

    Dec 10, 2007 7:14 PM by Alex Popescu

    it suffers all problems of a branch-based source control system.
    And what are those problems?


    I am not sure if Jonathan is referring to this, but branch merging is one of the most complex and "expensive" operations. You can also compare the centralized version control systems with distributed VCS-s to find out other possible drawbacks (or advantages :-) ).

    ./alex
    --
    .w( the_mindstorm )p.
    Alexandru Popescu
    Senior Software Eng.
    InfoQ Techlead/Co-founder

  5. I use TFS and VisualSVN on a regular basis. VisualSVN is such a much nice source control system then TFS or most other source controls systems available. I go to VisualSVN when I need to use source control.

    TFS on the other hand is a large clunky system, it does source control OK but it is not simple. It is certainly not a quick setup just to get the job done.

    As far as the other features of TFS, for doing thing like bug and task tracking, there are so many better systems out there. TFS is a 1.0 product and nothing more. I would suggest looking elsewhere for almost any need. Go look at Fogbugz for SDLC management, it blows TFS away.

Exclusive Content

Clojure

Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.

Composite Oriented Programming with Qi4j

We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

Principles and Practices of Lean-Agile Software Development

Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.