Hello Reuben,

Jim Meyering wrote:
> The syntax checks check only version-controlled files,
> which does not include files in git submodules.

Maybe the problem is that in GNU Hello, files copied from gnulib are
added to version control [1]? While that is a possible way to work with
gnulib, it is not the mainstream one. For me, it has become too much
work to 'add', 'remove', 'commit' lots of new files each time something
changed in gnulib.

For my projects, I classified the files into 7 categories and decided
about their version control separately:
  - Source
  - gnulib-cache.m4
  - Brought in by autotools, gnulib-tool
  - Generated by autotools
  - Generated by "make" and distributed (i.e. kept by "make distclean")
  - Generated by "make" and not distributed (i.e. erased by "make distclean")
  - Editor backup files

For most of the projects, the files are handled like this:


                                                   in              in
                                  Committed    .gitignore    .git/info/exclude

Source                                Y             N               N

gnulib-cache.m4                       Y             N               N

Brought in by autotools,              N             Y               N
gnulib-tool

Generated by autotools                N             Y               N

Generated by "make" and               N             Y               N
distributed (i.e. kept by
"make distclean")

Generated by "make" and               N             N               Y
not distributed (i.e. erased by
"make distclean")

Editor backup files                   N             Y               N


Only in one project, which has no autogen.sh file and is very rarely
modified, I am putting files brought in by autotools or gnulib-tool
under version control:


                                                   in              in
                                  Committed    .gitignore    .git/info/exclude

Source                                Y             N               N

gnulib-cache.m4                       Y             N               N

Brought in by autotools,              Y             N               N
gnulib-tool

Generated by autotools                Y             N               N

Generated by "make" and               Y             N               N
distributed (i.e. kept by
"make distclean")

Generated by "make" and               N             N               Y
not distributed (i.e. erased by
"make distclean")

Editor backup files                   N             N               Y


In this situation, the objective is that the user only needs a checkout.
He can build directly through "./configure; make". But as soon as you
have an 'autogen.sh' file, you can get away with much less files under
version control.

Bruno

[1] http://bzr.savannah.gnu.org/lh/hello/trunk/files/head:


Reply via email to