public inbox for cygwin-talk@cygwin.com
 help / color / mirror / Atom feed
From: Warren Young <warren@etr-usa.com>
To: The Cygwin-Talk Maiming List <cygwin-talk@cygwin.com>
Subject: cvs vs. svn vs. git vs.... (was: Cygwin 1.7 release)
Date: Thu, 04 Jun 2009 20:58:00 -0000	[thread overview]
Message-ID: <4A283549.80208@etr-usa.com> (raw)
In-Reply-To: <20090604194009.GB23519@calimero.vinschen.de>

Corinna Vinschen wrote:
> 
> I still don't understand why everybody is moving away from CVS.

0. Far cleaner versioning scheme: just rXXXX, instead of CVS's 
x.y.z.q.omega.hairball mess.  I guess this might annoy those who keep 
their repository versions in step with their public version numbering 
scheme, but I always found it a pain to renumber my CVS repo when there 
was a new major release.  And keeping minor releases in step? 
Fuggeddaboudit.

1. svn rm really removes files, doesn't just hide them in the Attic. 
(It's still there, part of the older revisions, just not visible further 
down that branch.)

2. svn rmdir really removes a directory.  You can later svn mkdir the 
same path, and it will not drag in the version history for the old files 
that used to be in that place.  (Ditto svn mv when renaming a directory. 
   Do that in CVS, and you can never use the directory name again!)

3. svn mv more closely approximates a real move.  It's still an add and 
delete on the back end, but because both changes are part of the same 
revision, and revisions are atomic.

4. Atomic checkins.  If CVS fails during a checkin, you get a partial 
checkin, usually requiring manual cleanup.  With svn, it either 
completes successfully, or it rolls the whole checkin back out.

5. Far cleaner ssh tunneling support

6. Unix tools hide .svn subdir, but not CVS

7. svn is less likely to break "special" files: keyword substitution is 
disabled by default, binary files aren't special, it knows the 
cross-platform rules for newlines, it knows about file modes like 
"executable" on POSIX systems...  You can arm-twist cvs into fixing a 
lot of these problems, but svn just does it right out of the box, and it 
tends not to break later.

> Seems like other SCMs,
> especially git, are just en vogue right now.

Last week I was wishing my OSS project were using git instead of svn.

Gna's repository server blew up again, losing several days -- weeks, 
initially, until they discovered a newer backup -- worth of repository 
data for the 1200+ projects they host.  Those using git just re-pushed 
their local repository copy and were back in business.  Those of us on 
the non-DVSCes lost any checkins made during the period between the 
backup and the crash.

Asked about his backup strategy years ago, Linus said he didn't make 
backups, because all the stuff he cared about was replicated on FTP, 
news, and mail servers all over the world.  As far as software goes, 
that ignores the pain of losing the play-by-play checkin history.

       reply	other threads:[~2009-06-04 20:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1244061552.9556.1318646127@webmail.messagingengine.com>
     [not found] ` <20090604091627.GS23519@calimero.vinschen.de>
     [not found]   ` <2bf229d30906040403o17d43ef5q5ccfdbb5f54977ae@mail.gmail.com>
     [not found]     ` <4A27B4DB.7030801@gmail.com>
     [not found]       ` <2bf229d30906041045x2832e7b5xc22a8f344ee8ba92@mail.gmail.com>
     [not found]         ` <20090604175811.GB753@ednor.casa.cgf.cx>
     [not found]           ` <20090604182311.GZ23519@calimero.vinschen.de>
     [not found]             ` <20090604184827.GD753@ednor.casa.cgf.cx>
     [not found]               ` <20090604194009.GB23519@calimero.vinschen.de>
2009-06-04 20:58                 ` Warren Young [this message]
2009-06-05  1:27                   ` Christopher Faylor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A283549.80208@etr-usa.com \
    --to=warren@etr-usa.com \
    --cc=cygwin-talk@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).