autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: conversion to git


From: Eric Blake
Subject: Re: conversion to git
Date: Sat, 22 Sep 2007 06:55:48 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Benoit SIGOURE on 9/22/2007 4:15 AM:

> [Benefits]

You are forgetting my most important benefit - git provides a cvsserver.
In other words, it is possible to connect a CVS client to the git
repository on savannah (once we can get that turned on; I'm still working
on it), and then users can browse the latest state of the repository via
CVS instead of installing git.

> Git is very good at deltifying the entire repo

Indeed.  The autoconf RCS files occupy nearly 25 megabytes, while the bare
repo is barely over 9 megabytes.

A couple other benefits:

- - I think gitweb is much more powerful than cvsweb.  You can grep for an
arbitrary string in the current state of the repository, or even do a
'pickaxe' for a particular string at any point in the repository history
(try doing that with cvsweb).  Also, you can generate a tarball of any
state of the repository, whereas cvsweb only lets you grab one file at a
time.  And if you don't want to burden the central server, then clone the
repository, and then you can do all of these tasks from your local machine
at a much faster rate because no network traffic is involved after the clone.

- - Git commits are atomic.  Changesets are either in or out, with all files
touched by a single commit identified in that commit.  CVS, on the other
hand, takes time to tag files, and if you happen do to a checkout with the
wrong -D sticky date, you could land in the middle of a commit, and get a
broken tree.

> [Potential drawbacks]:
>   - Git does not support partial checkouts

Actually, I think it was git 1.5.2 that introduced the notion of a shallow
clone (ie. only check out the most recent n commits, so that you have the
current top of tree and a bit of back history); you can't push from such a
repository, but can use it to generate patches for someone with a full
repository to apply.

To which I'll add:

- - Git is not a FSF project.  But then again, neither is CVS.  One
ramification of this fact is that, unfortunately, much of git is currently
licensed GPLv2 only, rather than GPLv2+.  This means that it is unlikely
that git will ever migrate to GPLv3, and thus that a FSF GPLv3+ project is
unlikely to ever be able to borrow code developed by git.

- - Git is not quite autoconfiscated with the flexibility required by GNU
coding standards, and some of its features still have dependencies on even
worse violaters, such as asciidoc (if you want to compile the man/html
pages yourself instead of using them pre-compiled) or cvsps (if you want
to run git-cvsimport).  However, I think the situation is improving, and
that future versions of git will be easier to install in arbitrary
locations.  Likewise, nobody says you have to use all of the features of
git for the basic features to be useful.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG9RDU84KuGfSFAYARAqQJAJwIa/DJ1YTN6RIo6LzimmoMuGtbhwCfTXsN
L3Q0uEVeLeyA3cxX0akqoVs=
=lrkf
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]