[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: switching to git (was: gnulib ChangeLog split)
From: |
Bruno Haible |
Subject: |
Re: switching to git (was: gnulib ChangeLog split) |
Date: |
Sat, 31 Mar 2007 14:37:31 +0200 |
User-agent: |
KMail/1.5.4 |
Jim Meyering wrote:
> A good argument for upgrading any cvs servers you control.
Unfortunately, it's the clients that you would need to upgrade - it's the
GPLed 'cvs' client which pushes the load to the cvs server. And the client
that has this behaviour fixed is not free software.
> If no one objects to dropping CVS support, I'll be happy to switch now.
Yes, please. Doing this will help
- people with a modem or DSL connection,
- doing renames,
- keeping the ChangeLog a single piece,
- maintaining forked copies of gnulib,
- determining the checkout identification (requested by Eric a few days ago).
> But that would require a certain amount of hand-holding and updating
> FAQ/etc. telling people how to use git enough to "pull" (aka update),
> and how to prepare patches properly (which means explaining the basics of
> git topic branches), etc.
Yes, and I'm willing to help on it. Find attached already the doc patches.
It's a time well invested, since the design of cvs is based on network/disk
tradeoffs that are not correct any more with today's hardware.
> The desire to retain CVS access (e.g., for Karl :-), and the fact that it
> will have to be via git-cvsserver to provide at least read-only pserver
> access, means I'll have to exercise a certain amount of due diligence,
> too. I'll have to set up something separate, test it, and then, once
> confident everything works the way we want, choose a nonstandard port
> on sv.gnu.org for use as the git-pserver port and set it up there.
> (the pserver port is already in use, of course).
Yes, please!! I can help updating the docs afterwards.
Bruno
2007-03-31 Bruno Haible <address@hidden>
* README: Talk primarily about git.
(git and CVS): Renamed from CVS.
* doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
gnulib is available through git.
* doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
--- README 26 Feb 2007 07:43:43 -0000 1.19
+++ README 31 Mar 2007 12:33:04 -0000
@@ -202,21 +202,40 @@
We will be developing a testsuite for these applications. The goal is
to have a 100% firm interface so that maintainers can feel free to
-update to the code in CVS at *any* time and know that their
+update to the code in git at *any* time and know that their
application will not break. This means that before any change can be
committed to the repository, a test suite program must be produced
that exposes the bug for regression testing. All experimental work
should be done on branches to help promote this.
-CVS
-===
+git and CVS
+===========
Gnulib is available for anonymous checkout. In any Bourne-shell the
following should work:
-
-$ cvs -d :pserver:address@hidden:/cvsroot/gnulib login
-(Just hit Enter or Return when prompted for a password)
-$ cvs -d :pserver:address@hidden:/cvsroot/gnulib checkout gnulib
+ $ git clone git://git.sv.gnu.org/gnulib
+Or, if you prefer the CVS-like 'cogito' frontend to plain 'git':
+ $ cg clone git://git.sv.gnu.org/gnulib
+
+git resources:
+ Overview: http://en.wikipedia.org/wiki/Git_(software)
+ Homepage: http://git.or.cz/
+ Download: http://www.kernel.org/pub/software/scm/git/
+ Tutorial: http://git.or.cz/course/
+ http://www.kernel.org/pub/software/scm/git/docs/tutorial.html
+ FAQ: http://git.or.cz/gitwiki/GitFaq
+
+cogito resources:
+ Overview: http://en.wikipedia.org/wiki/Cogito_(software)
+ Homepage: http://git.or.cz/cogito/
+ Download: http://kernel.org/pub/software/scm/cogito/
+ Tutorial: http://git.or.cz/course/
+
+For those among us who have tightly limited disk space and a fast network
+connection, CVS checkouts are also supported:
+ $ cvs -d :pserver:address@hidden:/cvsroot/gnulib login
+ (Just hit Enter or Return when prompted for a password)
+ $ cvs -d :pserver:address@hidden:/cvsroot/gnulib checkout gnulib
Gnulib is hosted on savannah.gnu.org. The project page is
http://savannah.gnu.org/projects/gnulib.
@@ -224,11 +243,11 @@
Keeping Up-to-date
==================
-The best way to work with Gnulib is to check it out of CVS.
+The best way to work with Gnulib is to check it out of git.
Subscribing to the address@hidden mailing list will help you to
plan when to update your local copy of Gnulib (which you use to
-maintain your software) from CVS. You can use "cvs update -dP" to
-synchronize.
+maintain your software) from git. To synchronize, you can use "git pull"
+or "cg update", or "cvs update -dP" if you are still using CVS.
Sometimes, using an updated version of Gnulib will require you to use
newer versions of GNU Automake or Autoconf. You may find it helpful
@@ -237,7 +256,7 @@
-----
-Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
--- doc/gnulib.texi 19 Mar 2007 20:30:25 -0000 1.34
+++ doc/gnulib.texi 31 Mar 2007 12:00:11 -0000
@@ -68,7 +68,7 @@
@itemize
@item Gnulib is hosted at Savannah:
@url{http://savannah.gnu.org/projects/gnulib}. Get the sources
- through CVS from there.
+ through git or CVS from there.
@item The Gnulib home page:
@url{http://www.gnu.org/software/gnulib/}.
@end itemize
@@ -371,7 +371,7 @@
@item Create gnulib directory
On a machine with recent automake, autoconf, m4 installed and with a
-gnulib cvs checkout (typically a Linux machine), use
+gnulib git or cvs checkout (typically a Linux machine), use
@example
gnulib-tool --create-megatestdir --with-tests --dir=..."
--- doc/gnulib-tool.texi 2 Mar 2007 21:30:00 -0000 1.13
+++ doc/gnulib-tool.texi 31 Mar 2007 12:00:11 -0000
@@ -355,7 +355,6 @@
@file{.cvsignore}. When you have a Gnulib source file of the form
@file{lib/foo_.h}, the corresponding @file{lib/foo.h} is such a file.
-
@item
In projects which customarily omit from the CVS all files that generated
from other source files, all these files and directories would not be
@@ -375,3 +374,6 @@
because they were missing.
@end itemize
+
+The same holds for other version control systems than CVS, such as @samp{git}
+or @samp{svn}.