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 |