Olmo's workflow

ibolmo edited this page Nov 29, 2011 · 4 revisions
  1. Find an issue.
  2. git fetch mootools 1 to get any new changes to master
  3. git checkout -b [action]-[issue#]-[description-delimited-by-dash] e.g. git checkout -b fix-1000-ie-button-type-throws
  4. repeat 2-3 for any submodules
  5. if necessary, add specs to reproduce failure
  6. work on the fix 2
  7. run the specs 3 until all browsers pass
  8. git add [files] or git commit -a if modified already present files
  9. write a good commit message 4
  10. git push [your-git-repo] [action]-[issue#]-[description-delimited-by-dash] (tip: use tab completion for topic branch)
  11. go to your github repo page
  12. select your topic branch
  13. send pull request. optionally modify subject and description of pull request.
  14. done, or start over at 1.

MooTools Repos

Use ./developers.sh to get your favorite MooTools developers added to your known git remote repos.

Working on the Fix

  1. Stick to what you need to fix. If you find something else that needs to be fixed or cleaned, create an issue or create another topic branch.

  2. If you're going to fix it with something controversial or something you're unsure of, then commit early and send a pull request with description and with @requests to notify developers.

Running the specs

Write a good commit message

General pattern

<action>
<empty line>
<description>
<empty line>
<spec results>

Action

Use active voice to explain what you did. Examples: Fixes, Improves, Removes. Include issue # if appropriate. Fixes #2100.

Description

Add as much relevant information as necessary: what, why, how, where.

Spec Results

General pattern

<RESULT>: <browser> <browser-version>; ...
...

Example: PASSED: FFx 3-5, 8, 10; IE6-9, Safari 5

Working Example:

Fixes #2118.

Noticed that there's no $uid dependency in Browser.js. Moved $uid and
$uid calls for window and document to Element.js.

PASSED: IE6-9, FFx 3-5, 8, 10, Chrome latest, Safari 5, Opera 11