Hi José, > In GNU poke we use the gendocs gnulib module. We also customize our > doc/gendocs_template, which is committed in our VCS. > > This leads to the situation where each time we run `bootstrap', it > copies the unmodified gendocs_template over to our tree, overwritting > the customized version. > > What would be the best way to fix this? Is there a way to tell > bootstrap that a particular file is customized/modified so please do not > overwrite it?
Two solutions come to mind: A) In bootstrap.conf, in the bootstrap_epilogue() function, add a statement that reverts the changes, assuming the developer is working from a git checkout: git diff doc/gendocs_template | patch -p1 -R B) Prevent the changes in the first place, by using a modified module description of the 'gendocs' module. See the "Extending Gnulib" chapter [1] for the general mechanism. Concretely, probably what you need is: - Define gl_local_dir in bootstrap.conf: gl_local_dir='gnulib-local' - Add a file gnulib-local/modules/gendocs.diff which is a diff between the original gnulib/modules/gendocs and the one which you want (namely, which has the file 'doc/gendocs_template' removed). - Commit this file in git. Bruno [1] https://www.gnu.org/software/gnulib/manual/html_node/Extending-Gnulib.html