summaryrefslogtreecommitdiff
path: root/build-aux/gnu-web-doc-update
diff options
context:
space:
mode:
authorAkim Demaille <akim@lrde.epita.fr>2012-12-14 12:58:35 +0100
committerAkim Demaille <akim@lrde.epita.fr>2012-12-16 15:39:39 +0100
commitd9963cfec3a40a2255d8ebb39834700a3fce6f5a (patch)
treef2e592e26c852eafe8b54087a02ba8a1facf0256 /build-aux/gnu-web-doc-update
parenta42a32e05e8406424d702f6a9e0e2c12b7e460ea (diff)
downloadgnulib-d9963cfec3a40a2255d8ebb39834700a3fce6f5a.tar.gz
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.
Diffstat (limited to 'build-aux/gnu-web-doc-update')
-rwxr-xr-xbuild-aux/gnu-web-doc-update19
1 files changed, 12 insertions, 7 deletions
diff --git a/build-aux/gnu-web-doc-update b/build-aux/gnu-web-doc-update
index e09db86630..dcf47f3e0c 100755
--- a/build-aux/gnu-web-doc-update
+++ b/build-aux/gnu-web-doc-update
@@ -39,6 +39,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
@@ -100,12 +101,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.
@@ -121,6 +122,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
@@ -139,7 +141,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
@@ -172,12 +174,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: