OLD | NEW |
(Empty) | |
| 1 # Introduction |
| 2 |
| 3 If you have a patch to the master branch (e.g. an important bug fix) that needs
to be merged into one of the production V8 branches, read on. |
| 4 |
| 5 For the examples, a branched 2.4 version of V8 will be used. Substitute "2.4" wi
th your version number. |
| 6 |
| 7 **An associated issue is mandatory if a patch is merged. This helps with keeping
track of merges.** |
| 8 |
| 9 # Merge process outlined |
| 10 |
| 11 The merge process in the Chromium and V8 tracker is driven by labels in the form
of |
| 12 ``` |
| 13 Merge-[Status]-[Branch] |
| 14 ``` |
| 15 The currently important labels for V8 are: |
| 16 |
| 17 1. Merge-Request-## initiates the process => This fix should be merged into M-
## |
| 18 1. Merge-Review-## The merge is not approved yet for M-## e.g. because Canary
coverage is missing |
| 19 1. Merge-Approved-## => Simply means that the Chrome TPM are signing the merge
off |
| 20 1. Merge-Merged-$BRANCHNUMBER$ => When the merge is done the Merge-Approved la
bel is swapped with this one. $BRANCHNUMBER$ is the name/number of the V8 branch
e.g. 4.3 for M-43. |
| 21 |
| 22 # Instructions for git using the automated script |
| 23 |
| 24 ## How to check if a commit was already merged/reverted |
| 25 |
| 26 Use mergeinfo.py to get all the commits which are connected to the HASH accordin
g to Git. |
| 27 |
| 28 ``` |
| 29 tools/release/mergeinfo.py HASH |
| 30 ``` |
| 31 |
| 32 ## Step 1: Run the script |
| 33 |
| 34 Let's assume you're merging revision af3cf11 to branch 2.4 (please specify full
git hashes - abbreviations are used here for simplicity). |
| 35 |
| 36 ``` |
| 37 tools/release/merge_to_branch.py --branch 2.4 af3cf11 |
| 38 ``` |
| 39 |
| 40 Run the script with '-h' to display its help message, which includes more option
s (e.g. you can specify a file containing your patch, or you can reverse a patch
, specify a custom commit message, or resume a merging process you've canceled b
efore). Note that the script will use a temporary checkout of v8 - it won't touc
h your work space. |
| 41 You can also merge more than one revision at once, just list them all. |
| 42 |
| 43 ``` |
| 44 tools/release/merge_to_branch.py --branch 2.4 af3cf11 cf33f1b sf3cf09 |
| 45 ``` |
| 46 |
| 47 ## Step 2: Send a notification letter to hablich@chromium.org |
| 48 |
| 49 Saying something like this: |
| 50 ``` |
| 51 _Subject:_ Regression fix merged into V8 2.4 branch (Chrome 8) |
| 52 |
| 53 _Body:_ We have merged a fix to the V8 version 2.4 branch (the version used in C
hrome 8) |
| 54 |
| 55 Version 2.4.9.10: Issue xxx: The parser doesn't parse. |
| 56 ``` |
| 57 |
| 58 # FAQ |
| 59 |
| 60 ## I get an error during merge that is related to tagging. What should I do? |
| 61 When two people are merging at the same time a race-condition can happen in the
merge scripts. If this is the case, contact machenbach@chromium.org and hablich@
chromium.org. |
| 62 ## Is there a TL;DR;? |
| 63 1. Create issue |
| 64 1. Add Merge-Request-{Branch} to the issue |
| 65 1. Wait until somebody will add Merge-Approved-{Branch} |
| 66 1. Merge |
OLD | NEW |