Contributing to Thinking Sphinx
Forking and Patching
If you’re offering a patch to Thinking Sphinx, the best way to do this is to fork the GitHub project, write a patch in a new branch, and then send me a Pull Request. This last step is important - while I may be following your fork on GitHub, the request means an email ends up in my inbox, so I won’t forget about your changes.
Do not forget to add specs. This keeps Thinking Sphinx as stable as possible, and makes it far easier for me to merge your changes in.
Sometimes I accept patches, sometimes I don’t. Please don’t be offended if your patch falls into the latter category - I want to keep Thinking Sphinx as lean as possible, and that means I don’t add every feature that people request or write.
If you have a contribution in mind but want some feedback, just create an issue on GitHub and I’ll be happy to discuss it further with you.
Dependencies
Just use bundle install
to get development dependencies installed. The acceptance tests run on MySQL by default, but you can switch to PostgreSQL using the DATABASE
environment variable:
DATABASE=postgresql rspec spec
MySQL’s expected user is root, and PostgreSQL’s expected user is your local user. Running tests against both databases is recommended.
Sphinx 2.0.6 or newer is required for Thinking Sphinx v3, so make sure you have that.