mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-25 13:23:08 +00:00
doc: how to cherry-pick to release branch
BUG=none TEST=mdbook serve Change-Id: Ie21d9e3c8e575785d0907b5a39bcb8bca1d5e8f6 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5201654 Commit-Queue: Shin Kawamura <kawasin@google.com> Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
This commit is contained in:
parent
2d47d34a66
commit
aa0e6ea99a
1 changed files with 26 additions and 0 deletions
|
@ -107,6 +107,8 @@ If it cannot be avoided at all, please follow this process:
|
||||||
|
|
||||||
## Cherry-picking
|
## Cherry-picking
|
||||||
|
|
||||||
|
### Cherry-picking without the usual merge process
|
||||||
|
|
||||||
If you need your changes faster than the usual merge frequency, please follow this process:
|
If you need your changes faster than the usual merge frequency, please follow this process:
|
||||||
|
|
||||||
1. Upload and submit your change to upstream crosvm.
|
1. Upload and submit your change to upstream crosvm.
|
||||||
|
@ -116,6 +118,30 @@ If you need your changes faster than the usual merge frequency, please follow th
|
||||||
**Never** submit code just to ChromeOS, as it will cause upstream to diverge and result in merge
|
**Never** submit code just to ChromeOS, as it will cause upstream to diverge and result in merge
|
||||||
conflicts down the road.
|
conflicts down the road.
|
||||||
|
|
||||||
|
### Cherry-picking to release branch
|
||||||
|
|
||||||
|
Your change need to be merged into [chromiumos/platform/crosvm] to cherry-pick it to a release
|
||||||
|
branch. You should follow
|
||||||
|
[ChromiumOS Merge Workflow](https://chromium.googlesource.com/chromiumos/docs/+/HEAD/work_on_branch.md)
|
||||||
|
to cherry-pick your changes. Since changes are merged from [crosvm/crosvm] to
|
||||||
|
[chromiumos/platform/crosvm] through [the merge process](#the-merge-process), you can't use gerrit
|
||||||
|
to cherry-pick your changes but need to use git command locally.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cd chromiumos/src/platform/crosvm
|
||||||
|
$ git branch -a | grep remotes/cros/release-R120
|
||||||
|
remotes/cros/release-R120-15662.B
|
||||||
|
$ git checkout -b my-cherry-pick cros/release-R120-15662.B
|
||||||
|
$ git cherry-pick -x $COMMIT
|
||||||
|
$ git push cros HEAD:refs/for/release-R120-15662.B
|
||||||
|
```
|
||||||
|
|
||||||
|
`$COMMIT` is the commit hash of the original change you want to cherry-pick not the merge commit.
|
||||||
|
Note that you push to special gerrit `refs/for/`, not pushing directly to the release branch.
|
||||||
|
|
||||||
|
Also note that release branch cherry picks don't get CQ tested at all - they are submitted directly
|
||||||
|
once you CQ+2 - so it is very important to test locally first.
|
||||||
|
|
||||||
## Running a Tryjob
|
## Running a Tryjob
|
||||||
|
|
||||||
For googlers, see go/cdg-site
|
For googlers, see go/cdg-site
|
||||||
|
|
Loading…
Reference in a new issue