Hi Bruno,

thank you very much for your prompt reply.
Am Sa., 3. Apr. 2021 um 01:00 Uhr schrieb Bruno Haible <br...@clisp.org>:

As far as I know, there are two practices regarding .gitignore management:
>
>   * Some developers want a very clean source directory at all times.
>     They always to VPATH builds. They want to have in .gitignore the
>     files brought in by Automake and Gnulib, but not the built files
>     (*.o, alloca.h ... wctype.h, $(BUILT_SOURCES), etc.)
>
>   * Some developers don't want to think much when building a package.
>     They often build in the source dir. They want to have in .gitignore
>     also the built files (*.o, alloca.h ... wctype.h, $(BUILT_SOURCES),
> etc.),
>     even the log files left my "make check".
>
> Gnulib, so far, is tailored for the first practice. How, would you say,
> should we handle these two (incompatible) expectations?
>
>   - A gnulib-tool option --vc-files=... (two possible options)?
>   - Let gnulib-tool guess which of the two possible options is desired,
>     based on the existing contents of the .gitignore files?
>   - Other ideas?
>

Thank you for the detailed explanation. As you will have deduced, I have
been using the second option, the build in the source tree.

I can switch to the first option so that the issue disappears for me. If
Gnulib is not going to be extended to support the second option as well, it
may be a good idea to add something along the lines of your remark above to
section 3.12 of its manual ([1]).

If Gnulib is going to be extended to support the second option as well, I
am not yet sure how. The problem is that the same source tree would have to
support both options to support both kinds of developers. This rules out
the "--vc-files" option because it would appear in "bootstrap.conf" (if
"gnulib-tool" is not used directly), which isn't developer-specific.

If development model #2 is going to be supported, the only feasible option
I see here would be to add the autogenerated header files non-conditionally
(and to rely on user-provided ".gitignore" fragments to ignore object
files, log files, etc.)

--

[1] https://www.gnu.org/software/gnulib/manual/html_node/VCS-Issues.html

Reply via email to