Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Quick Start (esp. for non-committers)

Here is a workflow for non-committers to kick start feature development on GitHub:

  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)

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.

It is also best to work on feature branches rather than working directly on master even in your private fork. When the patch is ready for submission push the squashed patch through reviewboard. If the patch is sizeable and touches many projects in the repo, best to break it down into smaller chunks for easier and quicker review by multiple committers.

Holler for help on the lists if you're stuck and ever need help. 

Using Git in CloudStack

Git Config

...