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.

  1. Check out the latest source: svn co http://svn.techno-weenie.net/pro...
  2. Ensure that the existing unit tests pass.
  3. Make a test-driven change
  4. Add or change unit tests to prove that your change works.
  5. Make the change to the source.
  6. Verify that all tests pass by running rake.
  7. Update or add documentation
  8. If you're adding a new feature, please make sure to write documentation for it as well. Include a handful of examples too.
  9. If you're changing a feature, please make sure to update the documentation for it as well. Include writing new examples.
  10. Share your well-tested change
  11. Sanity check the changes you've made: svn status
  12. Create a patch: svn diff > my_descriptively_named_patch.diff
  13. Login to Lighthouse or register a new user.
  14. Create a new ticket tagged with 'patch' and attach your patch file.
  15. Get your patch accepted
  16. Keep an eye on the ticket and address concerns that arise. Make your change hard not to commit.
  17. 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...).
  18. 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.
  19. 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 and and or for 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.882% complete

 

Completed 14 of 17 tickets

Pages