Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Create an account on GitHub.
    See Setting Up Git
  2. Fork the Apache Repo:
    1. Go to https://github.com/apache/incubator-cloudstack.
    2. Click Fork.
      See Fork a Repo
  3. Clone your fork:
    git clone https://github.com/<username>/incubator-cloudstack.git
  4. Configure remote:
    1. git remote add upstream https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git
      The GitHub repo is a mirror and not the definitive source, so we use https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git and not https://github.com/apache/incubator-cloudstack
  5. Sync to upstream periodically (for long running features, read:daily)
    1. git checkout <feature-branch>
      This sets your local working set to the branch you want to pull the latest changes into.
    2. git fetch upstream
    3. git merge upstream/<feature-branch> (or git merge --no-ff to preserve git branching history)
  6. Submit changes to the Review Board
    1. Create an Apache Review Board account at http://www.reviewboard.org/docs/manual/dev/users/tools/post-review/Image Added]
    2. Install RBTools
    3. Set the default reviewboard.url, e.g. git config reviewboard.url https://reviews.apache.orgImage Added
    4. Call post-review
    5. Edit the resulting URL to assign a reviewing group and to describe the change.
      RBTools automates creating a diff file that captures the changes you've made and publishing them to the ReviewBoard site.

Committers will not be looking at your repo by default. Therefore, alert the cloudstack-dev mailing list of your work and periodically request the incremental commits you make be reviewed.

...

Code Block
$ git clone https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git

Branch

The CloudStack repo has multiple branches, some version specific, you'll need to figure out which one you need to work with, but we'll make the assumption that master is OK for this purpose. Now, when you are ready to actually hack on CloudStack you should create your own topic branch locally. Lets say you wish to work on a specific bug, then you should work on that bug (and only that bug) in its own local branch (known as a topic branch), and you should use a descriptive name for it.

...

Now you can make your changes - and once done submit patches. 

Commit Messages

Please make your commit messages descriptive:

...