-
Mirko Wächter authoredMirko Wächter authored
Contributing to Simox as a GitLab Team Member
Developer
Creating a Merge Request
- clone Simox as indicated in README.md
- create a branch in the specific SimoxX package with
git checkout -b <branchname>
- develop your feature and commit the changes to the branch (create multiple smaller commits if possible)
- push the changes to a remote branch on GitLab with
git push -u origin <branchname>
- click the
Create Merge Request
button which appears on the top of the page when you visit https://gitlab.com/Simox/simox - check that your newly created branch is set as the source branch of the merge request
- check that
master
is set as the target branch of the merge request - select your advisor as assignee (leave the field empty if unsure)
- click the
SUBMIT NEW MERGE REQUEST
button
After Creating a Merge Request
After submitting the merge request it might take a little bit for someone to review the code and accept the request. Any comments, changes, or suggestions made on the request should be addressed.
It is no problem at all to push additional changes to the branch in the repository. These changes are added to the merge request automatically.
Resolving Conflicts between master branch and your Merge Request
During the lifetime of a merge request, automatic merging via
GitLab web interface might be disabled due to merge conflicts.
Resolving these conflicts requires your branch to get in sync with the latest
master
branch which can be achieved in two ways.
First update your master
branch using git checkout master & git pull
.
Then proceed with one of the following steps:
-
unexpirienced Git users:
git checkout <your-merge-request-branch>
git merge master
- resolve conflicts and commit the changes
git push
-
experienced Git users (you should know what
git rebase
is and what effects it has):git checkout <your-merge-request-branch>
-
git rebase master
(requires resolving conflicts during rebase) -
git push --force
(only do apush --force
on merge request branches, where this is expected to happen)
Repository Master/Owner
Reviewing Merge Requests
- go to the repository of the specific Simox package
- open the merge request and check the description and the changes (diff view)
- leave general comments on the
Discussion
tab if something is missing, wrong, or needs to be changed - leave more detailed comments on specific lines of the sourcecode in the
Changes
tab - once everything is ready to be merged click the
Remove source branch
checkbox and afterwards theACCEPT MERGE REQUEST
button
Releasing a new Simox version
- check out or update the `master' branch
- increase the version number X.Y.Z in the file config.cmake
- commit the changed config.cmake file
- add a tag with 'git tag -a "vX.Y.Z" -m"vX.Y.Z"'
- push with
git push && git push --tags
- The H2T jenkins server will automatically build a new simox package