Contributing

This guide shows how to contribute to one of the platforms. It takes IETS3 as an example. It mainly uses the MPS GUI for Git. If you want to do everything on the command line, check out An Introduction to Git or one of the Git Cheat Sheets ⧉.

  1. Make sure that you have Git installed.
  2. Clone the repository: git clone https://github.com/IETS3/iets3.opensource.git or Check out a project from a remote host ⧉ for the GUI way.
  3. Decide which branch you want to use as the template for the contribution. The README should list the supported MPS version. Older branches are named maintenance/mpsX, for example, maintenance/mps20203. The main branch is the master branch.
  4. If you have already checked out the repository before, fetch ⧉ all the changes from the remote repository.
  5. Create a new branch from the selected branch ⧉. Some common names are feature/X, bugfix/X, and refactoring/X, where X stands for a description of the branch and maybe the targeted MPS version, such as feature/my_feature_20211.
  6. Push the changes to the repository. Editing the repository history ⧉ is only allowed on your branch.
  7. Create a new pull request ⧉ in the remote repository.
  8. Optionally, request a pull request review if the repository requires reviewing. Make sure that the build runs on https://build.mbeddr.com. Review the build status in the PR.
  9. If the reviewer requires a change, make the change and click the re-request review button.
  10. If the reviewer approves the change, you can merge the changes (or he has already merged your changes). If you have a lot of commits that you want to merge into one commit or several commits, you can either use interactive rebase in MPS or squash your commits ⧉ into one single commit when merging the pull request.

Some more tips:

  • Enable GitHub notifications ⧉ to receive mail notifications about events on GitHub, such as comments or approved pull requests.
  • The browser extension Refined GitHub ⧉ provides some additional features for GitHub that you might find helpful.

Comments