![]() |
cacao
Release 0.1.03-dev
Compute And Control For Adaptive Optics
|
Most of milk's code is in a set of modules. Each module is compiled as a shared object loaded by the main process at runtime.
In Git, each module has its own repository, linked to the package as a git submodule.
To get latest modules (master branches) :
$ git submodule foreach "(git checkout master; git pull)"
To get latest modules (dev branches) :
$ git submodule foreach "(git checkout dev; git pull)"
When developing, work in dev branch and set branch to dev in all submodules and main package:
$ git submodule foreach "(git checkout dev; git pull; git push)" $ git checkout dev $ git pull $ git push
To synchronize master to latest dev:
$ git submodule foreach "(git checkout master; git merge dev)" $ git checkout master $ git merge dev $ git submodule foreach "(git checkout master; git push)" $ git push
In dev branch:
Update master branch to current dev branch.
Issue a git tag for the version:
$ git tag -a vX.YY.ZZ -m "milk version X.YY.ZZ" $ git push origin vX.YY.ZZ
Issue tags for submodules (optional, but helpful to track which submodule version makes it into package version):
$ git submodule foreach git tag -a milk-vX.Y.ZZ -m "milk version X.YY.ZZ" $ git submodule foreach git push origin milk-vX.Y.ZZ
Documentation tree can be locally built on dev branch with doxygen from main directory :
$ git checkout dev $ doxygen
To push it on the origin :
$ cd dochtml/html $ git add * $ git commit -am 'updated doxygen documentation' $ git push