Integrators¶
This section is only relevant to Tuleap integrators that are responsible to review and merge contributions into master.
Environment setup¶
You need to be ale to sign the commits/tags/merges in stable repository. For this you need to generate a gpg key (gpg --gen-key) and indicates to git which key to use:
$ git config --global user.signingkey <gpg-key-id>
Integration of contributions¶
Make sure that the contribution is ready to merge: +2 from integrators and +2 from integration continue
Re-sync your branch with latest master updates
$ git fetch stable && git checkout stable/master
Merge the patch from gerrit (see the “download” section in gerrit) it should be something of the sort:
$ git fetch ssh://username@gerrit.tuleap.net:29418/tuleap refs/changes/52/52/8 && \ git merge --no-ff --no-commit --log FETCH_HEAD
Note: It is the responsibility of the contributor to resolve conflicts. Integrators should ask to the contributor to rebase her changes in case of conflicts.
Edit ChangeLog and Version (all plugins & central).
Pro tip: there is a generator for that:
$ tools/utils/changelogs/generate.sh "Description of small feature or patch"
Pro tip 2: you can also use docker to generate them:
$ docker run -v $PWD:/tuleap enalean/tuleap-generate-changelog "Description of small feature or patch"
Important: Do not git add the updated changelogs and version.
Run
$ git status
If there are any changes in src/ then manually edit the Changelog file at the project root to reflect changes.
Commit (signed) only the merge (do not touch the commit message).
$ git commit -v -S
Copy the new version number:
$ cat VERSION 5.4.99.3
We will use it for commit messages below.
Commit (signed) the new version/changelogs (Commit message: This is Tuleap 5.4.99.3 )
$ git commit -av -S
Push your merge to stable:
$ git push stable HEAD:master
Update Gerrit master:
$ git push username@gerrit:tuleap stable/master:refs/heads/master # OR, if you have gerrit as a remote $ git push gerrit HEAD:master
Update Gerrit security:
$ git push username@gerrit:tuleap stable/master:refs/heads/security # OR, if you have gerrit as a remote $ git push gerrit HEAD:security
Update the corresponding artifacts by setting them to closed and adding message Integrated in Tuleap 5.4.99.3
Update the corresponding artifacts by adding the gerrit x-ref gerrit #2548 (from the gerrit URL)
Update the release artifact by adding an artifact link to the closed artifact. e.g. 4589