+2012-12-16 Akim Demaille <akim@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-16 Akim Demaille <akim@lrde.epita.fr>
gnu-web-doc-update: improve --help
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
# 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.
case $1 in
--help|--version) ${1#--};;
-C|--builddir) shift; builddir=$1; shift ;;
+ -n|--dry-run) dryrun=echo; shift;;
--*) die "unrecognized option: $1";;
*) break;;
esac
cleanup()
{
__st=$?
- rm -rf "$tmp"
+ $dryrun rm -rf "$tmp"
$GIT checkout "$current_branch"
$GIT submodule update --recursive
$GIT branch -d $tmp_branch
(
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: