Updating#
In Building With Gnu Make you learned how to check out the L4Re
source tree using ham
. Similarly you can use ham
for updating the
source tree:
ham sync
This will fetch and checkout the latest changes in all repositories.
Sometimes it is necessary to reconfigure your build directories:
make oldconfig
This is the case when your compiler or some config options changed.
More Ham Functionality#
Since ham
is only a wrapper around git, it has some more features you might
want to use:
Print information about changes in the build tree
ham status
Repositories with changes are likely to fail the sync
operation. It can be
handy to see where you have to manually resolve sync failures with the
status
operation.
A more generic functionality is the foarall
operation, which executes an
arbitrary command in each repositories root directory. A different approach for
syncing your source tree is the following.
ham forall -- git fetch
ham forall -p -- git rebase
Hint
The -p
option prints the name of each repository before executing the
provided command. This way you can directly see where conflicts occur.
Repositories All The Way Down#
In the end, these are just git repositories which you can update as you like.
You don’t have to use ham
. You should, however, update them all at once
because APIs are used across the repos. Only update a single repo if you know
what you’re doing.