[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: version controlled files
From: |
Bruno Haible |
Subject: |
Re: version controlled files |
Date: |
Mon, 16 Apr 2012 11:22:12 +0200 |
User-agent: |
KMail/4.7.4 (Linux/3.1.0-1.2-desktop; KDE/4.7.4; x86_64; ; ) |
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: