OLD | NEW |
| (Empty) |
1 # Git repository | |
2 | |
3 V8's git repository is located at https://chromium.googlesource.com/v8/v8.git | |
4 | |
5 V8's master branch has also an official git mirror on github: http://github.com/
v8/v8-git-mirror. | |
6 | |
7 **Don't just `git-clone` either of these URLs** if you want to build V8 from you
r checkout, instead follow the instructions below to get everything set up corre
ctly. | |
8 | |
9 ## Prerequisites | |
10 | |
11 1. **Git**. To install using `apt-get`: | |
12 ``` | |
13 apt-get install git | |
14 ``` | |
15 1. **depot\_tools**. See [instructions](http://dev.chromium.org/developers/how
-tos/install-depot-tools). | |
16 1. For **push access**, you need to setup a .netrc file with your git password
: | |
17 1. Go to https://chromium.googlesource.com/new-password - login with your co
mmitter account (e.g. @chromium.org account, non-chromium.org ones work too). No
te: creating a new password doesn't automatically revoke any previously created
passwords. | |
18 1. Follow the instructions in the "Staying Authenticated" section. It would
ask you to copy-paste two lines into your ~/.netrc file. | |
19 1. In the end, ~/.netrc should have two lines that look like: | |
20 ``` | |
21 machine chromium.googlesource.com login git-yourusername.chromium.org password <
generated pwd> | |
22 machine chromium-review.googlesource.com login git-yourusername.chromium.org pas
sword <generated pwd> | |
23 ``` | |
24 1. Make sure that ~/.netrc file's permissions are 0600 as many programs refu
se to read .netrc files which are readable by anyone other than you. | |
25 | |
26 | |
27 ## How to start | |
28 | |
29 Make sure depot\_tools are up-to-date by typing once: | |
30 | |
31 ``` | |
32 gclient | |
33 ``` | |
34 | |
35 | |
36 Then get V8, including all branches and dependencies: | |
37 | |
38 ``` | |
39 fetch v8 | |
40 cd v8 | |
41 ``` | |
42 | |
43 After that you're intentionally in a detached head state. | |
44 | |
45 Optionally you can specify how new branches should be tracked: | |
46 | |
47 ``` | |
48 git config branch.autosetupmerge always | |
49 git config branch.autosetuprebase always | |
50 ``` | |
51 | |
52 Alternatively, you can create new local branches like this (recommended): | |
53 | |
54 ``` | |
55 git new-branch mywork | |
56 ``` | |
57 | |
58 ## Staying up-to-date | |
59 | |
60 Update your current branch with git pull. Note that if you're not on a branch, g
it pull won't work, and you'll need to use git fetch instead. | |
61 | |
62 ``` | |
63 git pull | |
64 ``` | |
65 | |
66 Sometimes dependencies of v8 are updated. You can synchronize those by running | |
67 | |
68 ``` | |
69 gclient sync | |
70 ``` | |
71 | |
72 ## Sending code for reviewing | |
73 | |
74 ``` | |
75 git cl upload | |
76 ``` | |
77 | |
78 ## Committing | |
79 | |
80 You can use the CQ checkbox on codereview for committing (preferred). See also t
he [chromium instructions](http://www.chromium.org/developers/testing/commit-que
ue) for CQ flags and troubleshooting. | |
81 | |
82 If you need more trybots than the default, add the following to your commit mess
age on rietveld (e.g. for adding a nosnap bot): | |
83 | |
84 ``` | |
85 CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel | |
86 ``` | |
87 | |
88 To land manually, update your branch: | |
89 | |
90 ``` | |
91 git pull --rebase origin | |
92 ``` | |
93 | |
94 Then commit using | |
95 | |
96 ``` | |
97 git cl land | |
98 ``` | |
99 | |
100 # For project members | |
101 | |
102 | |
103 ## Try jobs | |
104 | |
105 ### Creating a try job from codereview | |
106 | |
107 1. Upload a CL to rietveld. | |
108 ``` | |
109 git cl upload | |
110 ``` | |
111 1. Try the CL by sending a try job to the try bots like this: | |
112 ``` | |
113 git cl try | |
114 ``` | |
115 1. Wait for the try bots to build and you will get an e-mail with the result.
You can also check the try state at your patch on codereview. | |
116 1. If applying the patch fails you either need to rebase your patch or specify
the v8 revision to sync to: | |
117 ``` | |
118 git cl try --revision=1234 | |
119 ``` | |
120 | |
121 ### Creating a try job from a local branch | |
122 | |
123 1. Commit some changes to a git branch in the local repo. | |
124 1. Try the change by sending a try job to the try bots like this: | |
125 ``` | |
126 git try | |
127 ``` | |
128 1. Wait for the try bots to build and you will get an e-mail with the result.
Note: There are issues with some of the slaves at the moment. Sending try jobs f
rom codereview is recommended. | |
129 | |
130 ### Useful arguments | |
131 | |
132 The revision argument tells the try bot what revision of the code base will be u
sed for applying your local changes to. Without the revision, our LKGR revision
is used as the base (http://v8-status.appspot.com/lkgr). | |
133 ``` | |
134 git try --revision=1234 | |
135 ``` | |
136 To avoid running your try job on all bots, use the --bot flag with a comma-separ
ated list of builder names. Example: | |
137 ``` | |
138 git try --bot=v8_mac_rel | |
139 ``` | |
140 | |
141 ### Viewing the try server | |
142 | |
143 http://build.chromium.org/p/tryserver.v8/waterfall | |
144 | |
145 ### Access credentials | |
146 | |
147 If asked for access credentials, use your @chromium.org email address and your g
enerated password from [googlecode.com](http://code.google.com/hosting/settings)
. | |
OLD | NEW |