This page provides general guidelines to contribute efficiently to the project.
Content:
- Project Language
- User Configuration
- Git Workflow
- Protected Branches
- Branch Names
- Commit Messages
- File Names
Commit messages should be written in English. Elsewhere, English is desired and Japanese is tolerated. However, messages in other languages will be ignored and/or removed.
Make sure to use your own Git settings before committing or pushing for the first time, especially on shared machines:
git config --global --unset user.name
git config --global --unset user.email
cd ~/ur-o2as/ && git config user.name "Firstname Lastname"
cd ~/ur-o2as/ && git config user.email "[email protected]"
- Pull the latest version of the remote
devel
branch on your local machine. - Create a new local branch to work with from the pulled
devel
branch on your local machine. - Work in the newly created local branch until your code well tested and documented.
- Pull once more the latest version of the remote
devel
branch and merge it to your local branch on your machine. - Push the merged local branch to the remote server and create a merge request from the pushed branch to the remote
devel
branch.
devel
: Default repository branch used for main development. Developers can push code but only Masters can merge.master
: Branch used for deployment and release of stable versions. No one can push code and only Masters can merge.
- Do not use any capital letter or punctuation.
- Always use hyphens
-
instead of underscores_
. - Always try to start with either
add-
,set-
,fix-
, ortry-
. If not possible, use another verb in imperative mood.
- Use English language only.
- Always start with a verb in imperative mood.
- Capitalize the first letter.
- Do not use punctuation at the end.
- Add the prefix
WIP:
for untested code. - Put code-specific names inside single quotation marks
' '
.
Please read the famous post "How to Write a Git Commit Message" by Chris Beams.
- Always prefer hyphens
-
to underscores_
except when required by convention, such as in ROS. - Use prefixes to distinguish first-party resources from third-party ones. For example, add the prefix
o2ac_
to the names of our own packages, nodes, topics, and services where appropriate.
If you need to add drivers, you need to add the additional installation instructions to the dockerfile. During testing, you can install drivers inside the container via the terminal and reset it by running BUILD-DOCKER-IMAGE.sh
on the host. Afterwards:
- Add your changes at the end of the file, so it is quick to build
- Before merging your changes, make sure that the changes work, by running
BUILD-DOCKER-IMAGE.sh
yourself