+2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ Assume gnulib is checked out from Git, not CVS
+
+ In fact, access to the gnulib repository through CVS has been
+ disabled, or more precisely, got broken and was never restored; see:
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
+
+ Note that support for CVS is not removed completely and unthinkingly
+ by this change: only support for CVS checkouts of gnulib itself is
+ removed. For example, the 'bootstrap' script still cater to .cvsingore
+ files and CVS directories, for the benefit of those poor gnulib clients
+ still stuck with CVS. Ditto for the 'gnulib-tool' script itself.
+
+ * gnulib-tool: Simplify accordingly.
+ * posix-modules: Likewise.
+ * MODULES.html.sh: Likewise.
+ * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
+ repository.
+ * doc/gnulib-intro.texi: Likewise.
+ * doc/gnulib-readme.texi: Likewise.
+ * doc/gnulib-tool.texi: In the examples and explanations, refer to a
+ sample '.gitignore' file rather than a sample '.cvsignore'.
+ * NEWS: Update.
+ * m4/extensions.m4: While at it, remove a comment mistakenly referring
+ to "CVS Autoconf" rather than "git Autoconf".
+
2013-04-30 Paul Eggert <eggert@cs.ucla.edu>
utimensat-tests, etc.: try to fix some races
fi
-{ find lib -type f -print; find m4 -type f -print; } | LC_ALL=C sort | sed -e '/\/\./d' -e /CVS/d -e /README/d -e /ChangeLog/d -e /Makefile/d -e /TODO/d -e '/tags$/d' -e '/TAGS$/d' -e '/~$/d' > "$tmp/all-files"
+{ find lib -type f -print; find m4 -type f -print; } | LC_ALL=C sort | sed -e '/\/\./d' -e /README/d -e /ChangeLog/d -e /Makefile/d -e /TODO/d -e '/tags$/d' -e '/TAGS$/d' -e '/~$/d' > "$tmp/all-files"
missed_files=`for file in $seen_files; do echo $file; done \
| LC_ALL=C sort -u \
| LC_ALL=C join -v 2 - "$tmp/all-files"`
Date Modules Changes
+2013-05-04 gnulib-tool CVS checkout of gnulib are no longer supported.
+
2013-02-08 careadlinkat This module no longer provides the careadlinkatcwd
function.
@itemize
@item
-There is the newest version of Gnulib from the Git repository. The
-source tree can also be fetched from a read-only CVS that mirrors the Git
-repository.
+There is the newest version of Gnulib from the Git repository.
@item
We also make stable releases every two months, at
@menu
* Gnulib Basics::
-* git and CVS::
+* Git Checkout::
* Keeping Up-to-date::
* Contributing to Gnulib::
* High Quality::
$ ln -s $HOME/gnu/src/gnulib.git/gnulib-tool $HOME/bin/gnulib-tool
@end example
-@node git and CVS
-@section git and CVS
+@node Git Checkout
+@section Git Checkout
Gnulib is available for anonymous checkout. In any Bourne-shell the
following should work:
recommended that you use the @option{-w} option, in order to ignore
massive whitespace changes that happened in 2009.
-CVS checkouts are also supported:
-
-@example
-$ cvs -d :pserver:anonymous@@pserver.git.sv.gnu.org:/gnulib.git co -d gnulib HEAD
-@end example
-
@node Keeping Up-to-date
@section Keeping Up-to-date
The best way to work with Gnulib is to check it out of git.
-To synchronize, you can use @code{git pull},
-or @code{cvs update -dP} if you are still using CVS.
+To synchronize, you can use @code{git pull}.
Subscribing to the @email{bug-gnulib@@gnu.org} mailing list will help
you to plan when to update your local copy of Gnulib (which you use to
into their VCS, the @code{gnulib-tool} generated files should all be
committed. In this case, you should pass the option
@samp{--no-vc-files} to @code{gnulib-tool}, which avoids alteration of
-VCS-related files such as @file{.cvsignore}.
+VCS-related files such as @file{.gitignore}.
Gnulib also contains files generated by @command{make} (and removed by
@code{make clean}), using information determined by
@command{configure}. For a Gnulib source file of the form
@file{lib/foo.in.h}, the corresponding @file{lib/foo.h} is such a
@command{make}-generated file. These should @emph{not} be checked
-into the VCS, but instead added to @file{.cvsignore} or equivalent.
+into the VCS, but instead added to @file{.gitignore} or equivalent.
@item
In projects which customarily omit from their VCS all files that are
@itemize
@item Gnulib is hosted at Savannah:
@url{http://savannah.gnu.org/projects/gnulib}. Get the sources
- through Git or CVS from there.
+ through Git from there.
@item The Gnulib home page:
@url{http://www.gnu.org/software/gnulib/}.
@end itemize
@item Create gnulib directory
On a machine with recent automake, autoconf, m4 installed and with a
-gnulib git or cvs checkout (typically a Linux machine), use
+gnulib git checkout (typically a Linux machine), use
@example
gnulib-tool --create-megatestdir --with-tests --dir=...
date=`date -d "$date" -u +"%Y-%m-%d %H:%M:%S"`
version=' '`cd "$gnulib_dir" && ./build-aux/git-version-gen /dev/null | sed -e 's/-dirty/-modified/'`
else
- if test -d "$gnulib_dir"/CVS \
- && (cvs --version) >/dev/null 2>/dev/null; then
- # gnulib checked out from CVS.
- sed_extract_first_date='/^date: /{
-s/^date: \([0-9][0-9][0-9][0-9]\).\([0-9][0-9]\).\([0-9][0-9]\) \([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*/\1-\2-\3 \4/p
-q
-}'
- date=`cd "$gnulib_dir" && cvs log -N ChangeLog 2>/dev/null | sed -n -e "$sed_extract_first_date"`
- else
- # gnulib copy without versioning information.
- date=`sed -e 's/ .*//;q' "$gnulib_dir"/ChangeLog`
- fi
+ # gnulib copy without versioning information.
+ date=`sed -e 's/ .*//;q' "$gnulib_dir"/ChangeLog`
version=
fi
year=`"$gnulib_dir"/build-aux/mdate-sh "$self_abspathname" | sed -e 's,^.* ,,'`
# the resulting list to standard output, one per line.
func_sanitize_modulelist ()
{
- sed -e '/^CVS\//d' -e '/\/CVS\//d' \
- -e '/^ChangeLog$/d' -e '/\/ChangeLog$/d' \
+ sed -e '/^ChangeLog$/d' -e '/\/ChangeLog$/d' \
-e '/^COPYING$/d' -e '/\/COPYING$/d' \
-e '/^README$/d' -e '/\/README$/d' \
-e '/^TEMPLATE$/d' \
{ test -f "$gnulib_dir/modules/$1" \
|| { test -n "$local_gnulib_dir" && test -d "$local_gnulib_dir/modules" \
&& test -f "$local_gnulib_dir/modules/$1"; }; } \
- && test "CVS" != "$1" \
&& test "ChangeLog" != "$1" \
&& test "COPYING" != "$1" \
&& test "README" != "$1" \
func_append megasubdirs "ALL"
# Create autobuild.
- cvsdate=`if test -f "$gnulib_dir/CVS/Entries"; then \
- vc_witness="$gnulib_dir/CVS/Entries"; \
- else \
- vc_witness="$gnulib_dir/.git/refs/heads/master"; \
- fi; \
+ cvsdate=`vc_witness="$gnulib_dir/.git/refs/heads/master"; \
sh "$gnulib_dir/build-aux/mdate-sh" "$vc_witness" \
| sed -e 's,January,01,' -e 's,Jan,01,' \
-e 's,February,02,' -e 's,Feb,02,' \
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS
+# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git
# Autoconf. Perhaps we can remove this once we can assume Autoconf
# 2.70 or later everywhere, but since Autoconf mutates rapidly
# enough in this area it's likely we'll need to redefine
date=`date -d "$date" -u +"%Y-%m-%d %H:%M:%S"`
version=' '`cd "$gnulib_dir" && ./build-aux/git-version-gen /dev/null | sed -e 's/-dirty/-modified/'`
else
- if test -d "$gnulib_dir"/CVS \
- && (cvs --version) >/dev/null 2>/dev/null; then
- # gnulib checked out from CVS.
- sed_extract_first_date='/^date: /{
-s/^date: \([0-9][0-9][0-9][0-9]\).\([0-9][0-9]\).\([0-9][0-9]\) \([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\).*/\1-\2-\3 \4/p
-q
-}'
- date=`cd "$gnulib_dir" && cvs log -N ChangeLog 2>/dev/null | sed -n -e "$sed_extract_first_date"`
- else
- # gnulib copy without versioning information.
- date=`sed -e 's/ .*//;q' "$gnulib_dir"/ChangeLog`
- fi
+ # gnulib copy without versioning information.
+ date=`sed -e 's/ .*//;q' "$gnulib_dir"/ChangeLog`
version=
fi
year=`"$gnulib_dir"/build-aux/mdate-sh "$self_abspathname" | sed 's,^.* ,,'`