LEFT | RIGHT |
1 <!--{ | 1 <!--{ |
2 "Title": "Contribution Guidelines" | 2 "Title": "Contribution Guidelines" |
3 }--> | 3 }--> |
4 | 4 |
5 <h2 id="Introduction">Introduction</h2> | 5 <h2 id="Introduction">Introduction</h2> |
6 | 6 |
7 <p> | 7 <p> |
8 This document explains how to contribute changes to the Go project. | 8 This document explains how to contribute changes to the Go project. |
9 It assumes you have installed Go using the | 9 It assumes you have installed Go using the |
10 <a href="/doc/install/source">installation instructions</a> and | 10 <a href="/doc/install/source">installation instructions</a> and |
(...skipping 24 matching lines...) Expand all Loading... |
35 In short, send mail before you code. | 35 In short, send mail before you code. |
36 And don't start the discussion by mailing a change list! | 36 And don't start the discussion by mailing a change list! |
37 </p> | 37 </p> |
38 | 38 |
39 <h2 id="Testing">Testing redux</h2> | 39 <h2 id="Testing">Testing redux</h2> |
40 | 40 |
41 <p> | 41 <p> |
42 You've <a href="code.html">written and tested your code</a>, but | 42 You've <a href="code.html">written and tested your code</a>, but |
43 before sending code out for review, run all the tests for the whole | 43 before sending code out for review, run all the tests for the whole |
44 tree to make sure the changes don't break other packages or programs: | 44 tree to make sure the changes don't break other packages or programs: |
45 (if you're contributing on Windows, use <code>all.bat</code> instead | |
46 of <code>./all.bash</code>) | |
47 </p> | 45 </p> |
48 | 46 |
49 <pre> | 47 <pre> |
50 cd $GOROOT/src | 48 cd $GOROOT/src |
51 ./all.bash | 49 ./all.bash # On Windows, run all.bat |
52 </pre> | 50 </pre> |
53 | 51 |
54 <p> | 52 <p> |
55 <code>./all.bash</code> should print "<code>ALL TESTS PASSED</code>" | 53 After running for a while, the command should print "<code>ALL TESTS PASSED</cod
e>". |
56 when finish. | |
57 </p> | 54 </p> |
58 | 55 |
59 <h2 id="Code_review">Code review</h2> | 56 <h2 id="Code_review">Code review</h2> |
60 | 57 |
61 <p> | 58 <p> |
62 Changes to Go must be reviewed before they are submitted, | 59 Changes to Go must be reviewed before they are submitted, |
63 no matter who makes the change. | 60 no matter who makes the change. |
64 (In exceptional cases, such as fixing a build, the review can | 61 (In exceptional cases, such as fixing a build, the review can |
65 follow shortly after submitting.) | 62 follow shortly after submitting.) |
66 A Mercurial extension helps manage the code review process. | 63 A Mercurial extension helps manage the code review process. |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 <p> | 115 <p> |
119 The code review server uses a Google Account to authenticate. | 116 The code review server uses a Google Account to authenticate. |
120 (If you can use the account to | 117 (If you can use the account to |
121 <a href="https://www.google.com/accounts/Login?hl=en&continue=http://www.goo
gle.com/">sign in at google.com</a>, | 118 <a href="https://www.google.com/accounts/Login?hl=en&continue=http://www.goo
gle.com/">sign in at google.com</a>, |
122 you can use it to sign in to the code review server. | 119 you can use it to sign in to the code review server. |
123 The email address you use on the Code Review site | 120 The email address you use on the Code Review site |
124 will be recorded in the <a href="http://code.google.com/p/go/source/list">Mercur
ial change log</a> | 121 will be recorded in the <a href="http://code.google.com/p/go/source/list">Mercur
ial change log</a> |
125 and in the <a href="/CONTRIBUTORS"><code>CONTRIBUTORS</code></a> file. | 122 and in the <a href="/CONTRIBUTORS"><code>CONTRIBUTORS</code></a> file. |
126 You can <a href="https://www.google.com/accounts/NewAccount">create a Google Acc
ount</a> | 123 You can <a href="https://www.google.com/accounts/NewAccount">create a Google Acc
ount</a> |
127 associated with any address where you receive email. | 124 associated with any address where you receive email. |
128 If you've enabled the two-step verification feature, don't forget to generate an
application | 125 If you've enabled the two-step verification feature, don't forget to generate an |
129 specific password and use that when prompted for password. | 126 application-specific password and use that when prompted for a password. |
130 </p> | 127 </p> |
131 | 128 |
132 <pre> | 129 <pre> |
133 $ cd $GOROOT | 130 $ cd $GOROOT |
134 $ hg code-login | 131 $ hg code-login |
135 Email (login for uploading to codereview.appspot.com): rsc@golang.org | 132 Email (login for uploading to codereview.appspot.com): rsc@golang.org |
136 Password for rsc@golang.org: | 133 Password for rsc@golang.org: |
137 | 134 |
138 Saving authentication cookies to /Users/rsc/.codereview_upload_cookies_coderevie
w.appspot.com | 135 Saving authentication cookies to /Users/rsc/.codereview_upload_cookies_coderevie
w.appspot.com |
139 </pre> | 136 </pre> |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 <p> | 269 <p> |
273 The code review server assigns your change an issue number and URL, | 270 The code review server assigns your change an issue number and URL, |
274 which <code>hg change</code> will print, something like: | 271 which <code>hg change</code> will print, something like: |
275 </p> | 272 </p> |
276 | 273 |
277 <pre> | 274 <pre> |
278 CL created: http://codereview.appspot.com/99999 | 275 CL created: http://codereview.appspot.com/99999 |
279 </pre> | 276 </pre> |
280 | 277 |
281 <p> | 278 <p> |
282 If you need to re-edit the change description, or modify the file included in th
e CL, | 279 If you need to re-edit the change description, or change the files included in t
he CL, |
283 run <code>hg change 99999</code>. | 280 run <code>hg change 99999</code>. Alternatively, you can use <code>hg file 99999
somefile</code> |
| 281 to add <code>somefile</code> to CL 99999, and use <code>hg file -d 99999 somefil
e</code> to remove |
| 282 <code>somefile</code> from the CL. |
284 </p> | 283 </p> |
285 | 284 |
286 <p> | 285 <p> |
287 You can see a list of your pending changes by running <code>hg pending</code> (<
code>hg p</code> for short). | 286 You can see a list of your pending changes by running <code>hg pending</code> (<
code>hg p</code> for short). |
288 </p> | 287 </p> |
289 | 288 |
290 | 289 |
291 <h3>Synchronize your client</h3> | 290 <h3>Synchronize your client</h3> |
292 | 291 |
293 <p>While you were working, others might have submitted changes | 292 <p>While you were working, others might have submitted changes |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
523 This rigmarole needs to be done only for your first submission. | 522 This rigmarole needs to be done only for your first submission. |
524 </p> | 523 </p> |
525 | 524 |
526 <p>Code that you contribute should use the standard copyright header:</p> | 525 <p>Code that you contribute should use the standard copyright header:</p> |
527 | 526 |
528 <pre> | 527 <pre> |
529 // Copyright 2012 The Go Authors. All rights reserved. | 528 // Copyright 2012 The Go Authors. All rights reserved. |
530 // Use of this source code is governed by a BSD-style | 529 // Use of this source code is governed by a BSD-style |
531 // license that can be found in the LICENSE file. | 530 // license that can be found in the LICENSE file. |
532 </pre> | 531 </pre> |
LEFT | RIGHT |