# HG changeset patch # User Stefano Lattarini # Date 1367656214 -7200 # Node ID 1d9362a18c34d5078e265945fba9bf5aad0b1071 # Parent 3c592b4deb0412c2d1b0772a5c45846f56479b4d 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: 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". Signed-off-by: Stefano Lattarini Acked-by: Paul Eggert diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,30 @@ +2012-05-04 Stefano Lattarini + + 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: + + + 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 utimensat-tests, etc.: try to fix some races diff --git a/MODULES.html.sh b/MODULES.html.sh --- a/MODULES.html.sh +++ b/MODULES.html.sh @@ -3615,7 +3615,7 @@ 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"` diff --git a/NEWS b/NEWS --- a/NEWS +++ b/NEWS @@ -32,6 +32,8 @@ 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. diff --git a/doc/gnulib-intro.texi b/doc/gnulib-intro.texi --- a/doc/gnulib-intro.texi +++ b/doc/gnulib-intro.texi @@ -431,9 +431,7 @@ @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 diff --git a/doc/gnulib-readme.texi b/doc/gnulib-readme.texi --- a/doc/gnulib-readme.texi +++ b/doc/gnulib-readme.texi @@ -11,7 +11,7 @@ @menu * Gnulib Basics:: -* git and CVS:: +* Git Checkout:: * Keeping Up-to-date:: * Contributing to Gnulib:: * High Quality:: @@ -46,8 +46,8 @@ $ 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: @@ -76,18 +76,11 @@ 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 diff --git a/doc/gnulib-tool.texi b/doc/gnulib-tool.texi --- a/doc/gnulib-tool.texi +++ b/doc/gnulib-tool.texi @@ -631,14 +631,14 @@ 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 diff --git a/doc/gnulib.texi b/doc/gnulib.texi --- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -100,7 +100,7 @@ @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 @@ -1073,7 +1073,7 @@ @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=... diff --git a/gnulib-tool b/gnulib-tool --- a/gnulib-tool +++ b/gnulib-tool @@ -322,18 +322,8 @@ 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,^.* ,,'` @@ -1504,8 +1494,7 @@ # 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' \ @@ -1543,7 +1532,6 @@ { 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" \ @@ -6169,11 +6157,7 @@ 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,' \ diff --git a/m4/extensions.m4 b/m4/extensions.m4 --- a/m4/extensions.m4 +++ b/m4/extensions.m4 @@ -6,7 +6,7 @@ # 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 diff --git a/posix-modules b/posix-modules --- a/posix-modules +++ b/posix-modules @@ -52,18 +52,8 @@ 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,^.* ,,'`