blob: 8ee8faabb30c19b880274a74a17d52cf433785b7 [file] [log] [blame]
<h1>Contributing</h1>
<p>Want to contribute to the project? Awesome!</p>
<ul class='lispaced'>
<li>Join the <a href="/lists">mailing list</a>. Say hi.</li>
<li>Pick an area to tackle. Discuss it first, especially if it's large and/or not well designed yet.</li>
<li>Put your changes online somewhere for review &amp; git pulling.</li>
<li>Note that you'll need to agree to the appropriate Contributor License Agreement:
<ul>
<li><a href="http://code.google.com/legal/individual-cla-v1.0.html">Individual Contributor License Agreement</a> (electronic signature okay) </li>
<li><a href="http://code.google.com/legal/corporate-cla-v1.0.html">Corporate Contributor License Agreement</a> (requires faxing or mailing)</li>
</ul>
(These make lawyers feel all warm and cozy about open source.)
</li>
<li>We'll submit your changes initially; but once you contribute
good changes for awhile, we'll get you direct commit access.</li>
</ul>
<h1>Code Review</h1>
<ul class='lispaced'>
<li>Camlistore requires changes to be reviewed before they are committed.</li>
<li>Sign in to Gerrit at <a href="http://camlistore.org/r/">http://camlistore.org/r/</a> and set your username + SSH key(s).
If your Gerrit username is not the same as your local machine's $USER, add a section like:
<pre>
Host camlistore.org
User &lt;your-gerrit-username&gt;
</pre>
to your ssh config file (probably <tt>~/.ssh/config</tt>).</li>
<li>Usual Work Flow</li>
<ul>
<li>Create a topic branch. Commit away. If you modify or squash your commits during review, don't touch <a href="http://gerrit.googlecode.com/svn/documentation/2.2.1/user-changeid.html">the Change-Id line</a>.</li>
<li>Send for review, with:<pre>./misc/review</pre> (assuming your Gerrit username is the same as your local machine's $USER)</li>
<li>... (review, modify, git add [changed files], git commit --amend, running ./misc/review again during review, until change is merged) ... </li>
<li>Finally, if you have any questions don't hesitate to ask the <a href='/lists'>mailing list</a> if you have questions.</li>
</ul>
<li>Have Fun!</li>
</ul>