Le 13 déc. 2012 à 18:06, Jim Meyering <j...@meyering.net> a écrit :
>> cvsu does not report that there are directories and files inside the >> 'D's. Is it wrong to simply cvs add everything that is there? >> Just skipping CVS, but adding all the rest using "find"? >> Say "find . -name CVS -prune -o -print". > > That sounds like it will work. > Thanks again. Here is my proposal. I don't see anything ready to _remove_ bits that are no longer generated. This is a problem, since for instance support for PS was recently dropped in gendocs.sh. So I can still get http://www.gnu.org/software/bison/manual/bison.ps from gnu.org, which is about an older version of Bison (2.6.4). Besides, for some reason I have not tried to explore, bison.ps is actually a ps.gz file :( commit a1d1f4b7fc9b46fc37a8dc55b591768a80ead566 Author: Akim Demaille <a...@lrde.epita.fr> Date: Fri Dec 14 12:58:35 2012 +0100 gnu-web-doc-update: add all the new files, even in new directories See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New. Use it. (main): Don't use cvsutils to get the list of unknown files, just add all the existing files and directories. diff --git a/ChangeLog b/ChangeLog index af716b1..a63dde1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2012-12-14 Akim Demaille <a...@lrde.epita.fr> + gnu-web-doc-update: add all the new files, even in new directories + See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html + * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New. + Use it. + (main): Don't use cvsutils to get the list of unknown files, + just add all the existing files and directories. + +2012-12-14 Akim Demaille <a...@lrde.epita.fr> + gnu-web-doc-update: improve --help * build-aux/gnu-web-doc-update: Move comments into --help. diff --git a/build-aux/gnu-web-doc-update b/build-aux/gnu-web-doc-update index 6b88bd8..cc454e7 100755 --- a/build-aux/gnu-web-doc-update +++ b/build-aux/gnu-web-doc-update @@ -36,6 +36,7 @@ assumes all documentation is in the doc/ sub-directory. Options: -C, --builddir=DIR location of (configured) Makefile (default: .) + -n, --dry-run don't actually commit anything --help print this help, then exit --version print version number, then exit @@ -97,12 +98,12 @@ find_tool () # Requirements: everything required to bootstrap your package, plus # these. find_tool CVS cvs -find_tool CVSU cvsu find_tool GIT git find_tool RSYNC rsync find_tool XARGS gxargs xargs builddir=. +dryrun= while test $# != 0 do # Handle --option=value by splitting apart and putting back on argv. @@ -118,6 +119,7 @@ do case $1 in --help|--version) ${1#--};; -C|--builddir) shift; builddir=$1; shift ;; + -n|--dry-run) dryrun=echo; shift;; --*) die "unrecognized option: $1";; *) break;; esac @@ -136,7 +138,7 @@ current_branch=$($GIT branch | sed -ne '/^\* /{s///;p;q;}') cleanup() { __st=$? - rm -rf "$tmp" + $dryrun rm -rf "$tmp" $GIT checkout "$current_branch" $GIT submodule update --recursive $GIT branch -d $tmp_branch @@ -169,12 +171,15 @@ $RSYNC -avP "$builddir"/doc/manual/ $tmp/$pkg/manual ( cd $tmp/$pkg/manual - # Add any new files: - $CVSU --types='?' \ - | sed s/..// \ - | $XARGS --no-run-if-empty -- $CVS add -ko + # Add all the files. This is simpler than trying to add only the + # new ones because of new directories: it would require iterating on + # adding the outer directories, and then their contents. + # + # find guarantees that we add outer directories first. + find . -name CVS -prune -o -print \ + | $XARGS --no-run-if-empty -- $dryrun $CVS add -ko - $CVS ci -m $version + $dryrun $CVS ci -m $version ) # Local variables: commit 59e437ebc75cec5211c86db49b9ff2eb6cf5758d Author: Akim Demaille <a...@lrde.epita.fr> Date: Fri Dec 14 12:53:34 2012 +0100 gnu-web-doc-update: improve --help * build-aux/gnu-web-doc-update: Move comments into --help. diff --git a/ChangeLog b/ChangeLog index 09f7753..af716b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-12-14 Akim Demaille <a...@lrde.epita.fr> + + gnu-web-doc-update: improve --help + * build-aux/gnu-web-doc-update: Move comments into --help. + 2012-12-11 Paul Eggert <egg...@cs.ucla.edu> extern-inline: avoid incompatibility with Darwin Libc diff --git a/build-aux/gnu-web-doc-update b/build-aux/gnu-web-doc-update index 4acd69d..6b88bd8 100755 --- a/build-aux/gnu-web-doc-update +++ b/build-aux/gnu-web-doc-update @@ -1,13 +1,5 @@ #!/bin/sh -# Run this after each non-alpha release, to update the web documentation at -# http://www.gnu.org/software/$pkg/manual/ -# This script must be run from the top-level directory, -# assumes you're using git for revision control, -# and requires a .prev-version file as well as a Makefile, -# from which it extracts the version number and package name, respectively. -# Also, it assumes all documentation is in the doc/ sub-directory. - -VERSION=2009-07-21.16; # UTC +VERSION=2012-12-14.11; # UTC # Copyright (C) 2009-2012 Free Software Foundation, Inc. @@ -37,6 +29,11 @@ Run this script from top_srcdir (no arguments) after each non-alpha release, to update the web documentation at http://www.gnu.org/software/\$pkg/manual/ +This script assumes you're using git for revision control, and +requires a .prev-version file as well as a Makefile, from which it +extracts the version number and package name, respectively. Also, it +assumes all documentation is in the doc/ sub-directory. + Options: -C, --builddir=DIR location of (configured) Makefile (default: .) --help print this help, then exit