Difference between revisions of "VPP/Working with the 16.06 Throttle Branch"
(Created page with "== Intro == vpp's branching structure currently is: <pre> ----------- master ----------------------------> \...") |
m (the code tags don't seem to honor newlines, oddly, so switched it for pre) |
||
Line 40: | Line 40: | ||
In vpp/.gitreview there is useful metadata to help git-review. On the stable/1606 branch, that files contents are: | In vpp/.gitreview there is useful metadata to help git-review. On the stable/1606 branch, that files contents are: | ||
− | < | + | <pre> |
oberon:vpp hagbard$ cat .gitreview | oberon:vpp hagbard$ cat .gitreview | ||
[gerrit] | [gerrit] | ||
Line 47: | Line 47: | ||
project=vpp | project=vpp | ||
defaultbranch=stable/1606 | defaultbranch=stable/1606 | ||
− | </ | + | </pre> |
The 'defaultbranch=stable/1606' tells git-review the branch to which to push your changes. As long as that value is set in your .gitreview, your patches will go to stable/1606. | The 'defaultbranch=stable/1606' tells git-review the branch to which to push your changes. As long as that value is set in your .gitreview, your patches will go to stable/1606. |
Latest revision as of 02:48, 17 May 2016
Contents
[hide]Intro
vpp's branching structure currently is:
----------- master ----------------------------> \ \------ stable/1606------->
The master branch is where the bulk of development takes place.
The stable/1606 branch is the 'throttle' for preparing the 16.06 release. Only bug fixes should go into stable/1606.
Bug fixes that *should* be in stable/1606 should be merged into stable/1606 before being merged into master (at least until 16.06 is released).
How to get the stable/1606 branch
From your current git repo, you should be able to simply do a
git pull
which will pull down the new origin/stable/1606 and create a local stable/1606 branch. Then just
git checkout stable/1606
How to push code to stable/1606
From any branch you created from stable/1606, you just need to do a
git review
Understanding why 'git review' just works
It can be helpful to understand why 'git review' works. In vpp/.gitreview there is useful metadata to help git-review. On the stable/1606 branch, that files contents are:
oberon:vpp hagbard$ cat .gitreview [gerrit] host=gerrit.fd.io port=29418 project=vpp defaultbranch=stable/1606
The 'defaultbranch=stable/1606' tells git-review the branch to which to push your changes. As long as that value is set in your .gitreview, your patches will go to stable/1606. If that value is not set (as it isn't in .gitreview on master), your changes go to master.
Since any commit you do that is on a branch off of stable/1606 *locally* should have the correct .gitreview, you *probably* don't have to think about it to much :)
Cherry picking in the gerrit UI
If you push a patch to a branch in gerrit, you can, from the gerrit web UI, you should have a 'Cherry Pick' button near the 'Rebase' button that will allow you to cherry-pick that gerrit to a different branch (thus creating a new gerrit to be removed). Naturally, this can only work if the cherry-pick can be done without manual corrections.