-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Denver Gingerich on 11/18/2007 5:03 PM: > I would like to update the gnulib files for the package I'm > maintaining (wdiff) in CVS (I've decided to check-in the gnulib files > so people using CVS don't have to run gnulib). However, running > "gnulib-tool --import" or "gnulib-tool --update" creates a bunch of > files I don't want, such as .cvsignore and backup files (ending in > "~").
I don't know of any way besides manual filtering of these extra files - basically, they are created on your machine, but you don't have to check them into CVS. > It also appears to install new files with an added "_" (ie. > stdlib_.h). Now for some background: there are two schools of thought on generated files. One (which Bruno subscribes to as the author of gnulib-tool, and which I agree with) is that all files that can be generated by tools available to maintainers should be omitted from your wget repository, since anyone else developing wget should be able to use the same prerequisite tools (or even better, a slightly different version of the prerequisite tools, without fighting spurious diffs). In this case, gnulib-tool's .cvsignore is the right thing (and in fact, doesn't ignore enough files for my liking - the m4 ./bootstrap script adds additional entries to .gitignore, including the .gitignore itself). In this school of thought, stdint_.h is a generated file, since it was copied from gnulib, and anyone checking out CVS must use 'gnulib-tool --update' (perhaps invoked under the hood by ./bootstrap) to get that file. The file stdint.h is also a generated file, created at make time according to the results of ./configure. The other (which you appear to subscribe to) is that any file that requires a special tool to regenerate should be versioned alongside the original source files, so that anyone else can check out a CVS view without having to also install prerequisite tools. In this school of thought, stdint_.h should be checked in to CVS (it was copied by gnulib, which counts as a maintainer-specific tool that not everyone uses, but is machine-independent), but stdint.h should be omitted from CVS (it is created by make which is a standard tool taht everyone uses, it contains platform-specific information, and checking it in based on your machine will cause spurious conflicts or even compilation errors when used on another machine). - -- Don't work too hard, make some time for fun as well! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHQNiu84KuGfSFAYARAhUnAJ4tvFnMdonClbz6ADFjr8SRjqge/wCfSLpQ LtzUzN+Tu71g99H1/7WM05s= =wLqI -----END PGP SIGNATURE-----