General Guidelines for committing code to GitHub

Guidelines for Committing Code to DSpace GitHub

All of the below guidelines are just suggestions. They are not meant to create additional "red tape" during the normal development process. If you find they are getting in the way, let us know, we can always change them! Development processes and best practices change over time, and these guidelines should be no different.

General Guidelines for Committing

  1. Use JIRA to track your changes
  2. Submit a Pull Request for your code changes
  3. Code approval processes
  4. Document your code early & often
  5. Once Approved, Merge your Pull Request in a timely manner

GitHub "Master Branch" Committing Rules

By "Master Branch" we are not only referring to DSpace/DSpace in GitHub. We're also referring to the Master branch of any other production-quality, out-of-the-box GitHub projects (e.g. DSpace/dspace-services, DSpace/dspace-api-lang, etc.)

The GitHub Master branch is one of the few places that needs to remain well managed. As we all fork it and/or create Pull Requests from it, it can be detrimental to us all if incomplete or extremely buggy code is committed. Obviously, mistakes happen (and we've all made them), so don't worry if you accidentally commit/merge something you didn't mean to (just try to roll it back as soon as you notice it). Here are the few rules we try to follow when committing code to the Master branch:

  1. No broken builds on the Master Branch, ever.
  2. No unapproved / incomplete features on the Master Branch.
  3. All new features must have documentation before merging into the Master Branch.