Re: subversion vs cvs (Was: Re: linked list rewrite)

From: Frank Wiles <frank(at)wiles(dot)org>
To: "Marc G(dot) Fournier" <scrappy(at)postgresql(dot)org>
Cc: sailesh(at)cs(dot)berkeley(dot)edu, neilc(at)samurai(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: subversion vs cvs (Was: Re: linked list rewrite)
Date: 2004-03-24 15:29:09
Message-ID: 20040324092909.36302de8.frank@wiles.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Tue, 23 Mar 2004 23:03:03 -0400 (AST)
"Marc G. Fournier" <scrappy(at)postgresql(dot)org> wrote:

> On Tue, 23 Mar 2004, Sailesh Krishnamurthy wrote:
>
> > Which brings me to another question .. has anybody considered using
> > subversion instead of CVS ?
>
> Why? not that I'm for a chance from something that isn't broken, but
> what advantages does subversion give us over what we already have?

Subversion has lots of "little" benefits, but nothing that would be
a major incentive to switch. The biggest benefits I can think of
of the top of my head are:

* Commits are actually atomic
* protocol sends diffs in both directions which speeds up everything
* branching and tagging are cheap constant time operations

* the time it takes to make changes is based on the size of the
change, not the size of the project

* whole directories are versioned not just files. So for example
if you for some reason wanted to rename src/backend/bootstrap.c
to src/backend/bootup.c you wouldn't lose your revision history
information. Same thing goes for complete reorganizations of the
file layouts.

* You can checkout "parts" of a project so if you need to fix a
bug in 7.3.6's src/backend/ you only have to transfer that portion
to you.

* cvs diff ( well svn diff ) can be done offline. Same with 'status'
which shows you your local modifications and 'revert' which reverts
your changes back to your last checkout/update/etc.

* Revisions numbers are repository wide instead of by file. You can
refer to revision #14328 on hackers and everyone knows exactly what
you are talking about and can switch their working copies to it
easily ( svn switch -r 14328 ). It's sort of like having a tag
for every commit made to the repository.

It does have some downsides that I have found, most notibly that the
size of your sources you have in your working copy are essentially
doubled. There is a copy in your .svn directory that allows the
offline status, diff, and revert commands to work.

---------------------------------
Frank Wiles <frank(at)wiles(dot)org>
http://frank.wiles.org
---------------------------------

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message scott.marlowe 2004-03-24 15:30:51 Re: partial VACUUM FULL
Previous Message Tom Lane 2004-03-24 15:17:52 Re: No pg_hba.conf entry for host localhost (was: Re:

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2004-03-24 15:52:58 Re: pg_advisor schema proof of concept
Previous Message Fabien COELHO 2004-03-24 15:25:06 Re: pg_advisor schema proof of concept