The bootstrapping script (see Bootstrapping) is not regularly needed: you mainly need it after you have cloned Gnuastro (once) and whenever you want to re-import the files from Gnulib, or Autoconf archives43 (not too common). However, Gnuastro developers are constantly working on Gnuastro and are pushing their changes to the official repository. Therefore, your local Gnuastro clone will soon be out-dated. Gnuastro has two mailing lists dedicated to its developing activities (see Developing mailing lists). Subscribing to them can help you decide when to synchronize with the official repository.
To pull all the most recent work in Gnuastro, run the following command from the top Gnuastro directory:
$ git pull && autoconf -f
GNU Autoconf is part of the GNU build system and will update the ./configure script based on the hand-written configurations (in configure.ac, which is version controlled in Gnuastro). The pulled changes might contain changes in the build system configurations. However, The most important reason for running this command is to generate a version number for your Gnuastro snapshot. This generated version number will include the commit information if you are building Gnuastro from any point in Gnuastro’s history (see Version numbering). Since the version number is included in nearly all outputs of the programs, this can help you later exactly reproduce an old result by checking out the exact point in Gnuastro’s history that produced those results. Therefore, be sure to run ‘autoconf -f’ after every synchronization. You can also run them separately:
$ git pull $ autoconf -f
If you would like to see what has changed since you last synchronized your
local clone, you can take the following steps instead of the simple command
above (don’t type anything after
$ git checkout master # Confirm if you are on master. $ git fetch origin # Fetch all new commits from server. $ git log master..origin/master # See all the new commit messages. $ git merge origin/master # Update your master branch. $ autoconf -f # Update ./configure.
git log prints the most recent commit first, add the
--reverse option to see the changes chronologically. To see
exactly what has been changed in the source code along with the commit
message, add a -p option to the
If you intend make changes in the code, have a look at Developing to
get started easily. Be sure to commit your changes in a separate branch
master branch to follow the official repository) and
autoconf -f after the commit. If you intend to send your
changes to us (see Contributing to Gnuastro) for the benefit of the
whole community. If you send your work to us, you can safely use your
commit since it will be ultimately recorded in Gnuastro’s official
history. If not, please upload your separate branch to a public hosting
service (for example GitLab, see Forking tutorial) and link to it in
your report, or run
make distcheck and upload the output
gnuastro-X.X.X.XXXX.tar.gz to a publicly accessible webpage so your
results can be considered scientific (reproducible).
https://savannah.gnu.org/task/index.php?13993 is defined for you to check if significant (for Gnuastro) updates are made in these repositories, since the last time you pulled from them.