Skip to content
adamgreig edited this page Jul 31, 2011 · 4 revisions

So, you want to help out with habitat! Great! Here's everything you need to know to get started.

Required Base Software

You'll need...

  • Python (for actually running any of the code) [>=2.6]
  • Git (for all of the version control management; you are on GitHub, after all...) [recentish version]
  • CouchDB (we use this for all our data storage) [>= 0.9 or something]

Libraries and things

  • All the Python modules in requirements_devel.txt, use pip to install them (pip install -r requirements_devel.txt)

Version Control Model

We're mostly sticking to the git model described at http://nvie.com/git-model. It's a really great idea. The key thing to bear in mind is that you have a develop branch, which you don't commit to and you keep up to date with the main develop branch. You write your code in a feature branch, and when it's done, you file a pull request on github and someone else checks the code, makes a merge commit that closes the pull request and pushes it to the central repository.

tl;dr: commit to a local feature branch, file a pull request when done

Pivotal Tracker

We're also using the excellent Pivotal Tracker (here) to keep track of what needs to happen. Just ask someone for an account on it.

Getting Started

Click the 'fork' button at the top of this page, forking the ukhas/habitat github repo to your own github account. Then, set it up as follows:

    # Clone your GitHub repository to your computer
    $ git clone [email protected]:**username**/habitat.git
    # Head on in
    $ cd habitat
    # If you're not in the develop branch, make it
    $ git branch develop && git checkout develop
    # Add UKHAS as upstream
    # (Read-only)
    $ git remote add ukhas git://github.com/ukhas/habitat.git
    # (Read+Write, for UKHAS team members)
    $ git remote add ukhas [email protected]:ukhas/habitat.git

Staying up to date

When new code is pushed to ukhas/develop, you'll want to get it on your develop branch.

    $ git fetch ukhas
    $ git checkout develop
    $ git merge --ff-only ukhas/develop

Get writing code!

Check out the New-Feature-Guide!

Finally...

Did you have to do anything besides what's listed here? Should we have more information? Tell someone! Either update this wiki, message someone in ukhas, or join us on IRC at irc.freenode.net #habhub. Cheers!