On 05/04/2013 10:18 AM, Stefano Lattarini wrote: > Hi Dmitry. > > On 05/04/2013 01:19 AM, ghostma...@gmail.com wrote: >> Hello everyone! >> >> It really meets my needs, since I haven't added full support for CVS yet. :-) >> If it doesn't have any meaning, I'll remove any "tails" to SVS and will keep >> only git support in pygnulib. >> > I'd say go ahead :-) (But before doing so, wait for possible objections > from other list members; my dislike for non-distributed VCS is well known, > and might not be shared by everybody) > > Maybe I'll prepare some patches to remove CVS support from mainline gnulib > as well, if nobody objects to that... > Done with the patch below. OK to push?
Regards, Stefano ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- 8< ---- >From d4e85062b88b9002d66b05ecd34c58b9dbfc3fe8 Mon Sep 17 00:00:00 2001 Message-Id: <d4e85062b88b9002d66b05ecd34c58b9dbfc3fe8.1367659373.git.stefano.lattar...@gmail.com> From: Stefano Lattarini <stefano.lattar...@gmail.com> Date: Sat, 4 May 2013 10:30:14 +0200 Subject: [PATCH] Assume gnulib is checked out from Git, not CVS 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 has not be removed completely and unthinkingly: only support for CVS checkouts of gnulib itself has been 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". --- ChangeLog | 28 ++++++++++++++++++++++++++++ MODULES.html.sh | 2 +- NEWS | 2 ++ doc/gnulib-intro.texi | 4 +--- doc/gnulib-readme.texi | 15 ++++----------- doc/gnulib-tool.texi | 4 ++-- doc/gnulib.texi | 4 ++-- gnulib-tool | 24 ++++-------------------- m4/extensions.m4 | 2 +- posix-modules | 14 ++------------ 10 files changed, 47 insertions(+), 52 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1071e48..1037033 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,31 @@ +2012-05-04 Stefano Lattarini <stefano.lattar...@gmail.com> + + Assume gnulib is checked out from Git, not CVS + + 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 has not be removed completely and + unthinkingly: only support for CVS checkouts of gnulib itself + has been 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 <egg...@cs.ucla.edu> utimensat-tests, etc.: try to fix some races diff --git a/MODULES.html.sh b/MODULES.html.sh index ece97f4..5a563d4 100755 --- a/MODULES.html.sh +++ b/MODULES.html.sh @@ -3615,7 +3615,7 @@ if test -n "$missed_modules"; then 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 index fa3a8c6..2e7a518 100644 --- a/NEWS +++ b/NEWS @@ -32,6 +32,8 @@ User visible incompatible changes 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 index 69d6e08..e769c7a 100644 --- a/doc/gnulib-intro.texi +++ b/doc/gnulib-intro.texi @@ -431,9 +431,7 @@ failure reports. Gnulib is available in two qualities: @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 index 76be567..20eacfc 100644 --- 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 @@ Gnulib checkout. For example: $ 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 @@ When you use @code{git annotate} or @code{git blame} with Gnulib, it's 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 index 061dc3f..114ab4c 100644 --- a/doc/gnulib-tool.texi +++ b/doc/gnulib-tool.texi @@ -631,14 +631,14 @@ In projects which commit all source files, whether generated or not, 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 index 2d13122..de39a44 100644 --- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -100,7 +100,7 @@ Resources: @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 @@ your favorite platform, you may perform these steps: @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 index c5ab13b..878f272 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -322,18 +322,8 @@ q 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 @@ func_lookup_file () # 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 @@ func_exists_module () { 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_create_megatestdir () 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 index 07ba376..e30f122 100644 --- 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 index fcc9a45..c782957 100755 --- a/posix-modules +++ b/posix-modules @@ -52,18 +52,8 @@ q 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,^.* ,,'` -- 1.8.3.rc0.19.g7e6a0cc