bug-gnulib
[Top][All Lists]
Advanced

[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}.





reply via email to

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