Every repository with this icon (
Every repository with this icon (
Contribute
IMPORTANT: Instead of making a github pull request, please file a ticket at http://rspec.lighthouseapp.com.
Interested in contributing a patch to rspec, rspec-rails or the rspec-tmbundle? See the rspec-dev README for everything you need to know to get the rspec-dev environment up and running. Once you’ve done that, here are a few things to keep in mind:
Clean histories when sharing changes
Also see Topic Branches
Please keep commit histories as clean as possible. This makes it easier for us to merge your changes into the official RSpec repo. If your commit histories contain junk, we’ll politely ask you to give us a cleaner history.
The easiest way to create a clean history is to make a new branch that tracks RSpec’s master branch, and then cherry-pick your own commits to it. For example, say you had a commit whose sha is abc123 that you’d like to contribute to RSpec. However you made a previous commit to your repo that would be irrelevant, but that would get pulled in when we pull from your repo.
Here’s how you would do it. This assumes that you have a remote reference named ‘rspec’, and a publically-available repository named ’origin
git checkout -b myfix rspec/master
git cherry-pick abc123
git push origin myfix
This creates a branch named ‘myfix’ on your public repo. Now you can tell us to pull from that branch of your repository. Then once we’ve incorporated the change you’re free to delete the branch.
You don’t need to create a different branch for each fix. This would only apply if you’ve got commits in your repo that would be irrelevant for the fix you want to share.
More steps coming soon …
Lastly, either enter a ticket or modify and existing ticket at http://rspec.lighthouseapp.com with one of two things:
- A link to the relevant commit(s) in your own fork of any of the rspec repositories. These can be at github or any other public-facing git host.
- A git-formatted patch (created using git-format-patch). This can be uploaded as an attachment, or just pasted into the ticket.






