Skip to content
This repository has been archived by the owner on Jan 6, 2020. It is now read-only.

Contributor work flow

justinemclevy edited this page Jan 21, 2014 · 14 revisions

Big thanks

First off, we know this is a pretty large and complex code base that's full of new ideas, so the commitment is clear from any contributor. So thanks! The community here is a friendly helpful one that encourages people to do well. The goals are clear: security, privacy and freedom for everyone and we are delighted you have come this far. Hopefully this is only the start, so sign up for the mailing list and dive right in.

Getting set up

  • Clone and checkout to 'next' branch. Full details of getting started are on the Build Instructions page, but this should basically entail:
git clone git@github.com:maidsafe/MaidSafe [optional folder name]
cd MaidSafe (or optional folder name)
git submodule update --init
git checkout next
git submodule foreach 'git checkout next'
  • Fork the code. Fork the specific repository you plan to work on. This will give you your own copy of the project.
  • Set up git in the repository you plan to work on. We're using Common as an example here; replace Common with the name of the component you will work on.
cd src/common
git remote set-url origin git@github.com:<your github name>/MaidSafe-Common.git
git remote add --track next upstream git://github.com/maidsafe/MaidSafe-Common.git

That is your repository set up to help with code. You can do git pull, git push, etc. (this will be to/from your fork). To pull in changes from the 'next' branch of the MaidSafe repo, just do:

git pull upstream next

You will not be able to git push to maidsafe, for that you need to do a pull request.

Pull requests

Important: We will not accept pull requests to 'master', please select 'next' as the target branch to merge to.

Edit code -> test-> send to dashboard via make Exper<reponame> -> commit -> push

When happy, go to github (your project) and select diff and pull request. This allows you to put in a message and the lib maintainer will get a message to attend that request.

Each pull request must contain a link to the dashboard to show test results