| 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 on Chromium's or V8's issue tracker is mandatory if a patc
h is merged. This helps with keeping track of merges. | |
| 8 You can use [a template](https://code.google.com/p/v8/issues/entry?template=Merg
e%20request) to create an issue.** | |
| 9 | |
| 10 # Merge process outlined | |
| 11 | |
| 12 The merge process in the Chromium and V8 tracker is driven by labels in the form
of | |
| 13 ``` | |
| 14 Merge-[Status]-[Branch] | |
| 15 ``` | |
| 16 The currently important labels for V8 are: | |
| 17 | |
| 18 1. Merge-Request-## initiates the process => This fix should be merged into M-
## | |
| 19 1. Merge-Review-## The merge is not approved yet for M-## e.g. because Canary
coverage is missing | |
| 20 1. Merge-Approved-## => Simply means that the Chrome TPM are signing the merge
off | |
| 21 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. | |
| 22 | |
| 23 # Instructions for git using the automated script | |
| 24 | |
| 25 ## How to check if a commit was already merged/reverted | |
| 26 | |
| 27 Use mergeinfo.py to get all the commits which are connected to the HASH accordin
g to Git. | |
| 28 | |
| 29 ``` | |
| 30 tools/release/mergeinfo.py HASH | |
| 31 ``` | |
| 32 | |
| 33 ## Step 1: Run the script | |
| 34 | |
| 35 Let's assume you're merging revision af3cf11 to branch 2.4 (please specify full
git hashes - abbreviations are used here for simplicity). | |
| 36 | |
| 37 ``` | |
| 38 tools/release/merge_to_branch.py --branch 2.4 af3cf11 | |
| 39 ``` | |
| 40 | |
| 41 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. | |
| 42 You can also merge more than one revision at once, just list them all. | |
| 43 | |
| 44 ``` | |
| 45 tools/release/merge_to_branch.py --branch 2.4 af3cf11 cf33f1b sf3cf09 | |
| 46 ``` | |
| 47 | |
| 48 ## Step 2: Send a notification letter to hablich@chromium.org | |
| 49 | |
| 50 Saying something like this: | |
| 51 ``` | |
| 52 _Subject:_ Regression fix merged into V8 2.4 branch (Chrome 8) | |
| 53 | |
| 54 _Body:_ We have merged a fix to the V8 version 2.4 branch (the version used in C
hrome 8) | |
| 55 | |
| 56 Version 2.4.9.10: Issue xxx: The parser doesn't parse. | |
| 57 ``` | |
| 58 | |
| 59 # FAQ | |
| 60 | |
| 61 ## I get an error during merge that is related to tagging. What should I do? | |
| 62 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. | |
| 63 ## Is there a TL;DR;? | |
| 64 1. [Create issue on issue tracker](https://code.google.com/p/v8/issues/entry?t
emplate=Merge%20request) | |
| 65 1. Add Merge-Request-{Branch} to the issue | |
| 66 1. Wait until somebody will add Merge-Approved-{Branch} | |
| 67 1. Merge | |
| OLD | NEW |