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 |