bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnu-web-doc-update: fails to add new directories


From: Akim Demaille
Subject: Re: gnu-web-doc-update: fails to add new directories
Date: Fri, 14 Dec 2012 13:04:58 +0100

Le 13 déc. 2012 à 18:06, Jim Meyering <address@hidden> 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 <address@hidden>
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  <address@hidden>
 
+       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  <address@hidden>
+
        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 <address@hidden>
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  <address@hidden>
+
+       gnu-web-doc-update: improve --help
+       * build-aux/gnu-web-doc-update: Move comments into --help.
+
 2012-12-11  Paul Eggert  <address@hidden>
 
        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




reply via email to

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