...
Source The master source code repository code is hosted at:
https://git-wip-us.apache.org/repos/asf/
...
...
You can send in diffs of your changes to the Cloudstack development mailing list, where your diffs will be reviewed and committed to the master branch that syncs up often with the external public git branch.
The master git branch is what Cloudstack developers at Citrix work with. To clone this branch, you will need to do -
...
There is a faster read-only mirror at
...
...
...
...
...
You may want to pull a specific sub-branch of cloudstack-oss. To do this, you will need to first pull the cloudstack-oss branch using the git clone command above, and then, do -
git checkout <sub_branch_you_want_to_pull>
...
...
git checkout vpc
...
...
...
...
...
...
...
Say you wish to make changes to your local sub-branch, it is always a good idea to checkout another branch from your newly created local sub-branch.
Let's summarize all the typical steps you will need to carry out, below -
Step 1) Go to the master -
git checkout master
Step 2) Pull the 3.0.x branch -
...
...
...
There is a github read-only mirror on github at
https://github.com/apache/cloudstack
We are using a variant of git-flow to manage branches. See our page on Git for more information.
...
The output will show -
"
Branch 3.0.x set up to track remote branch 3.0.x from origin.
Switched to a new branch '3.0.x'"
Step 3) Confirm you are on the 3.0.x branch -
git branch
The output will show -
"
* 3.0.x
master"
Step 4) Either make your changes on this branch, or, create a new local branch from this 3.0.x branch -
$ git checkout -b my-feature
Switched to a new branch 'my-feature'
Step 5) Confirm that you are on your new my-feature branch -
$ git branch
3.0.x
master
* my-feature
Step 6) Make your changes to the new my-feature branch, and git commit your changes.
Step 7) Pushing your changes upstream :
There are two cases here:
I) pushing your changes to the 3.0.x branch which you pulled:
Case a) You made changes to the local "3.0.x" branch without creating a "my-feature" branch:
Just do "git push"
Case b) You made changes to the local "my-feature" branch:
i) git log my-feature
- get all the git commits you want to push upstream, in order bottom to top (you need to maintain the right patching order!)
ii) git checkout 3.0.x
iii) git cherry-pick <commit_number_bottom-most> .. .. .. <commit_number_top-most>
-- Alternately, you can do a simple -
ii) git checkout 3.0.x; git merge my-feature
-- This will pull all your changes/commits that you made to my-feature.
iv) git push
II) pushing your changes to a private branch that you forked off master:
Here, all steps for Case I) hold good, up until iii). But during git push, do this instead:
$ git push origin my-feature:pvt-my-feature
This will create a new branch "pvt-my-feature" on the origin (which is git.cloud.com's cloudstack-oss) and team members can pull this branch and check in all the feature code changes into it. To pull this branch, just do -
git checkout master
git checkout pvt-my-feature
git stash
- Lets you stash away the changes if you don't want to commit them yet but want to change your branch
git stash apply
git stash drop
Refer to this page for details on how to set up a build environment for cloudstack on Windows -
Setting up Cloudstack dev environment on Windows
The cloudstack git branch has an INSTALL.txt file that provides instructions on setting up a build environment for Linux, taking FC 14 as an example. However, details of the setup may vary between Linux distributions, hence please refer to the specific Linux distribution's installation/product support notes when setting up a build environment for cloudstack.
...
Refer to the Cloudstack Error Codes and Exception handling page for details on Cloudstack's exception processing.