Skip to content
peyton edited this page Mar 1, 2012 · 18 revisions

Welcome! If you're a git expert, you know how it goes. Just create a sensibly-named branch, hack together your feature, and issue a pull request to get it merged into the master.

Todo:

  • Image mask cache as optional include
  • Background rendering as optional include
  • Sprite sheets and sprite sheet compilation

If you're a developer who wants to work on the MOOMaskedIconView source code and submit your changes to be merged into the master branch, here's how. Thanks to RestKit (and further up the stack Diaspora and ThinkUp) for their awesome developer guide, which was the basis for ours.

#Quickfire Dos and Don'ts

If you're familiar with git and GitHub, here's the short version of what you need to know. Once you fork and clone the MOOMaskedIconView code:

  • Don't develop on the master branch. Always create a development branch specific to the feature you're working on. For example, if you're working an inner glow effect, your development branch could be called inner-glow. If you decide to work on another feature mid-stream, create a new branch--don't work on both in one branch.

  • Do not merge the upstream master with your development branch; rebase your branch on top of the upstream master.

#Step-by-step

  1. Fork on GitHub (click Fork button).

  2. Clone to computer:

git clone git@github.com:you/MOOMaskedIconView.git

  1. Don't forget to cd into your repo:

cd MOOMaskedIconView/

  1. Set up remote upstream:

git remote add upstream git://github.com/peyton/MOOMaskedIconView.git

  1. Create a branch for new feature:

git checkout -b new-feature

  1. Develop on new branch. [Time passes, the main MOOMaskedIconView repository accumulates new commits]

  2. Commit changes to new branch:

git add . ; git commit -m 'commit message'

  1. Fetch upstream:

git fetch upstream

  1. Update local master:

git checkout master; git pull upstream master

  1. Repeat steps 6–9 till dev is complete.

  2. Rebase issue branch:

git checkout new-feature; git rebase master

  1. Push branch to GitHub:

git push origin new-feature

  1. Issue pull request (Click "Pull Request" button).

Bonus: Any new changes you push from your feature branch will be automatically included in the pull request.

Clone this wiki locally