diff options
author | Simon Josefsson <simon@josefsson.org> | 2021-09-04 10:26:26 +0200 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2021-09-04 10:26:26 +0200 |
commit | 8b58d52924d86efc302a0b777bc382c44f5194cd (patch) | |
tree | 3e28b4927b6a41fe53a691a0801a421ca068ff8c /doc | |
parent | c81d4c183a13638d7f9a48cd5d6c7dc554ae0174 (diff) | |
download | gnulib-8b58d52924d86efc302a0b777bc382c44f5194cd.tar.gz |
doc: Improve help related to bootstrap script.
* doc/gnulib-tool.texi (VCS Issues): Make title more positive,
s/Issues/Integration/. Some more bootstrap-related hints,
including changing suggested submodule path from .gnulib to gnulib
as this seems to be more wide-spread.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/gnulib-tool.texi | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/doc/gnulib-tool.texi b/doc/gnulib-tool.texi index b35c713668..7f66c4248c 100644 --- a/doc/gnulib-tool.texi +++ b/doc/gnulib-tool.texi @@ -875,7 +875,7 @@ functions will not be affected. @node VCS Issues -@section Issues with Version Control Systems +@section Integration with Version Control Systems If a project stores its source files in a version control system (VCS), such as CVS, Subversion, or Git, one needs to decide which files to commit. @@ -938,36 +938,45 @@ add because they were missing. @end itemize Gnulib includes the file @file{build-aux/bootstrap} to aid a developer -in using this setup. Furthermore, in projects that use git for -version control, it is possible to use a git submodule containing the -precise commit of the gnulib repository, so that each developer -running @file{bootstrap} will get the same version of all -gnulib-provided files. The location of the submodule can be chosen to -fit the package's needs; here's how to initially create the submodule -in the directory @file{.gnulib}: +in using this setup. You would copy this file and add it to your +project's VCS. It can be customized using @file{bootstrap.conf} which +is also put under VCS in your project. Read the script for further +information, and look at how other projects are using it (see links in +@url{https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=users.txt;hb=HEAD}). + +In projects that use git for version control, it is possible to use a +git submodule containing the precise commit of the gnulib repository, so +that each developer running @file{bootstrap} will get the same version +of all gnulib-provided files. The location of the submodule can be +chosen to fit the package's needs; here's how to initially create the +submodule in the directory @file{gnulib}: @smallexample -$ dir=.gnulib -$ git submodule add -- https://git.savannah.gnu.org/git/gnulib.git $dir -$ git config alias.syncsub "submodule foreach git pull origin master" +$ git submodule add -- https://git.savannah.gnu.org/git/gnulib.git gnulib @end smallexample @noindent -Thereafter, @file{bootstrap} can run this command to update the +Thereafter, @file{bootstrap} will run this command to update the submodule to the recorded checkout level: @smallexample -git submodule update --init $dir +$ git submodule update --init gnulib @end smallexample @noindent -and a developer can use this sequence to update to a newer version of -gnulib: +Use this sequence to update to a newer version of gnulib: + +@smallexample +$ git submodule update --remote gnulib +$ git add gnulib +$ ./bootstrap --bootstrap-sync +@end smallexample + +If multiple submodules are used, the following may be useful: @smallexample +$ git config alias.syncsub "submodule foreach git pull origin master" $ git syncsub -$ git add $dir -$ ./bootstrap @end smallexample @item |