VisualSVN – An Alternative to Team Foundation Server

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.

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).

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.

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 :-) ).

Re: Team Foundation isn't about source control, however.
by
Robert Bazinet

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.

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our industry email notices?

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.