Checking out the source
The Subversion repository resides at http://svn.techno-weenie.net/pro...
svn co http://svn.techno-weenie.net/pro...
Check out the current development trunk (Edge Mephisto) with:
svn co http://svn.techno-weenie.net/pro...
If you'd rather work with the stable branch:
svn co http://svn.techno-weenie.net/pro...
Creating a ticket
This Lighthouse is for dealing with bug reports and patches. We do not use it for feature requests any more. If you have a feature request, please read the next section on how to fulfill it on your own.
Creating a bug report
When creating a bug report, be sure to include as much relevant information as possible. Post the code sample that causes the problem. Preferably, alter the unit tests and show through either changed or added tests how the expected behavior is not occuring.
Creating a patch
Bug reports are fine, but patches are great. If you want to modify Mephisto or fix a bug you've run across, there's no faster way to make it happen than to do it yourself.
- Check out the latest source: svn co http://svn.techno-weenie.net/pro...
- Ensure that the existing unit tests pass.
- Make a test-driven change
- Add or change unit tests to prove that your change works.
- Make the change to the source.
- Verify that all tests pass by running rake.
- Update or add documentation
- If you're adding a new feature, please make sure to write documentation for it as well. Include a handful of examples too.
- If you're changing a feature, please make sure to update the documentation for it as well. Include writing new examples.
- Share your well-tested change
- Sanity check the changes you've made: svn status
- Create a patch: svn diff > my_descriptively_named_patch.diff
- Login to Lighthouse or register a new user.
- Create a new ticket tagged with 'patch' and attach your patch file.
- Get your patch accepted
- Keep an eye on the ticket and address concerns that arise. Make your change hard not to commit.
- Get three people to try out your patch and endorse it with +1 in the comments, then attach the 'verified' tag. You can fish for collaborators in #mephisto on IRC (irc://irc.freenode.net/mephisto) and the mephisto mailing list (http://groups.google.com/group/M...).
- Expect your ticket to tagged with untested, undocumented, or incomplete if it's missing tests, documentation, or implementation. Don't panic; the ticket hasn't been killed! These resolutions are the pathway to commit. Update your patch and reopen the ticket.
- Bask in the glory of being a Mephisto contributor!
apologies to rails
Managing Patches
We use tags to designate various types of tickets:
- patch - Any ticket with an included patch
- untested/undocumented/incomplete - self explanatory
- verified - patch has been tested and verified by several folks and is ready for someone to commit
If a patch is waiting to be committed, the Lighthouse members can add it to a milestone.
Saved Ticket Bin Searches
Here are a few suggested ticket bin searches:
- Needy Patch - "tagged:patch not-tagged:verified milestone:none"
- Ready Patch - "tagged:patch not-tagged:undocumented not-tagged:untested not-tagged:incomplete milestone:any"
Source style
- Two spaces, no tabs
-
Don't use
andandorfor boolean tests, instead always use && and || - MyClass.my_method(my_arg) -- not my_method( my_arg ) or my_method my_arg
- Follow the conventions you see used in the source already
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
0.8—82% complete
Completed 14 of 17 tickets
