[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Questions about subversion

From: Andy Levy <andy.levy_at_gmail.com>
Date: 2006-04-27 18:53:33 CEST

On 4/26/06, Keith <kstephens@bizjournals.com> wrote:
>
> Can you provide me any pros and cons between using subversion and using
> Visual Source Safe?
>

Microsoft doesn't even use VSS, and haven't for many years. VSS is a
nightmare to maintain from a server admin perspective, and you are almost
guaranteed to lose data eventually. Backups are not simple. The interface
is clumsy and outdated. There's an API provided for coding your own
scripts/programs against it, but we never managed to find very good
documentation on it. IMO, unless you need a specific feature of VSS, there
is NO compelling argument to use it. The lock-modify-unlock model
(pessimistc locking) is a major hassle if you have multiple developers in
the same groups of files regularly, or if someone goes on vacation and
forgets to check everything in.

I speak as both an ex-VSS user and ex-part-time-VSS admin. When we
implemented VSS at my last job late in '99, it was the best option we had
for our needs, and worked OK for us...for a while. A year ago, I was
cursing it daily. We couldn't get backups completed because as long as any
developer left the VSS client open, or VB, or any other application that
could "talk" to the server, files in the database were open - and because we
had people who would leave these apps running constantly, our automated
nightly backups failed *every night* for months on end. We had
corrupted/lost files, We couldn't even run a repair on the database for a
while, and when we finally did, the database was so far gone we never got
many of those lost files back.

MS is supposedly coming out with a replacement for it, but I don't think
it's past beta stage yet. They've been talking about it for a very long
time.

I implemented Subversion at my new job last fall and it's a world of
difference. It's very easy to work with, I can get clean backups, there are
myriad access methods, both in terms of clients and programming APIs or even
just calling the command line client from scripts. I have a level of
confidence in SVN that I never had with VSS. Copy-Modify-Merge, or
optimistic locking, makes collaboration MUCH easier, and significantly
reduces the server load. Users work in a disconnected mode - pull down a
working copy, then stop talking to the server. Get an update, then you can
unplug the wire. Perform your commit, and just walk away. You don't have
users constantly leaving connections to the repository hanging open.

Subversions's atomic commits ensure that your data is really there. Either
the commit works, or it doesn't. VSS doesn't do this - you can get your
first 3 files committed, then something breaks and your last 2 don't make it
in there. Then you have to clean up.

Subversion's global revision numbers make it very, very easy to say "ok, get
me the state of my whole project at this point in time" - with VSS, I was
having to tell our release managers "ok, I need version 4 of this file,
version 37 of this one, oh, and this last one is a brand new file." (whether
we should have used labels in VSS is a good thing to consider, but applying
those labels still would have been more labor-intensive than using tags &
branches in SVN).

Branching...I don't think I ever even tried to use branching in VSS. SVN
makes it very simple. Merging is very, very manual with VSS - SVN assumes
that it's going to happen, and does everything it can to help you in the
process.

There are some areas where VSS was better than SVN - in particular, the
integration with MS's other development tools that are VSS's contemporaries
(meaning InterDev 6, VB6 - pretty old & crusty stuff). But overall, SVN
blows VSS away.

If you decide to go with VSS, plan on having one person whose full-time job
is to keep it alive.

Also can subversion run on a Windows 2000, 2003?
>

And XP. Both the client and server pieces.

Is subversion a command line driven tool or is there a graphical interface
> with it.
>

Subversion comes with a command line client, and there are several GUI
clients for it. TortoiseSVN integrates directly into Windows Explorer,
there's RapidSVN, and there's even a plug-in for VisualStudio .NET if you're
so inclined. Those are just 3 of the clients I'm aware of - there are
plenty of others.
Received on Thu Apr 27 18:55:11 2006

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.