Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 2.39 KB

DEVELOPING.md

File metadata and controls

56 lines (41 loc) · 2.39 KB

Developing stationsimcpp

To start developing stationsimcpp your first steps should be to:

  1. Compile from source, see INSTALL.md.
  2. Run the examples or create your own, see EXAMPLES.md

stationsimcpp git development cycle

We use the git flow workflow. The steps are:

  1. Fork the stationsimcpp repository

  2. Add the original stationsimcpp develop repository as a remote, and check out locally.

    cd stationsimcpp
    git remote set-url --push origin https://github.com/YOUR_USERNAME/stationsimcpp
    git remote add upstream https://github.com/avramidis/stationsimcpp
    git branch develop
    git checkout develop
    git pull --rebase upstream develop

    The steps until here only need to be executed once, with the exception being the last command: rebasing against the development branch. You will need to rebase every time when the develop branch is updated.

  3. Create a feature branch (from develop)

    git branch feature/BRANCH_NAME
  4. In you branch fix bug or add feature. If you add a feature create an example showing this feature.

  5. Make sure that locally, your code compiles and and all examples run.

  6. Commit locally, using neat and informative commit messages, grouping commits, potentially iterate over more changes to the code,

  7. Rebase against stationsimcpp's develop branch. This might cause rebase errors, which you need to solve

    git pull --rebase upstream develop
  8. Push your commits to your fork

    git push origin feature/BRANCH_NAME

    If you squashed or amended commits after you had pushed already, you might be required to force push via using the git push -f option with care.

  9. Send a pull request via GitHub. As described above, you can always update a pull request using the the git push -f option. Please do not close and send new ones instead, always update.

  10. Once the PR is merged, keep an eye on the CI to see whether your patch broke something.

Requirements for merging your PR

  • All examples must work.
  • The PR is clean and addresses one issue or implements one feature.
  • The number of commits is minimal and the message is neat and clear.