blob: 846210ae23c71d28daee22b7c5e6b7f219a4afdf [file] [log] [blame] [view]
---
title: Apache Mesos - Committing
layout: documentation
---
# Committing
Only committers have the ability to commit your change, so make sure you
work with one during code review to get your changes committed.
If you are a committer, here are some guidelines for committing changes:
1. **Check the JIRA ticket**: make sure there is no further discussion
needed regarding the approach used in the patch.
2. **Follow the format of commit messages**: we currently do not leverage
any tooling to enforce the format of messages, so:
a. Be clear and explicit in the commit message.
b. Include the link to the review (this will be done automatically if
using `support/post-reviews.py` for your own changes and
`support/apply-review.sh` for committing changes from others).
**Be sure to clean up the commit message when pulling in changes
from others.**
c. Use 72 character columns. Note that we don't always have a 50
character or less summary because that restriction tends to cause
people to write poorly.
3. **Keep the 'Author' intact**: `support/apply-review.sh` will handle
this for you, but be careful when rebasing or ammending.
4. **Never ever commit a merge**: always rebase instead, as appropriate.
Likewise, never 'force push'.
5. **Don't break the build**: we support Linux and Mac OS X, however not
all configurations are being tested in Jenkins, so be aware of that.
Also, pay attention to the Jenkins review bot if it flags a review as
breaking the build. Note that if you do break the build, the fixes are
often small and inconsequential so don't worry about going through a
review cycle for that, just fix things (but don't take that as a license
to "wait until the build fails to fix things").