1 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 7. Contributing code</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="SAMBA Developers Guide"><link rel="up" href="pt02.html" title="Part II. Samba Basics"><link rel="prev" href="CodingSuggestions.html" title="Chapter 6. Coding Suggestions"><link rel="next" href="modules.html" title="Chapter 8. Modules"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. Contributing code</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="CodingSuggestions.html">Prev</a> </td><th width="60%" align="center">Part II. Samba Basics</th><td width="20%" align="right"> <a accesskey="n" href="modules.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="contributing"></a>Chapter 7. Contributing code</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Jelmer</span> <span class="othername">R.</span> <span class="orgname">The Samba Team</span> <span class="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><code class="email"><<a class="email" href="mailto:jelmer@samba.org">jelmer@samba.org</a>></code></p></div></div></div></div></div></div><p>Here are a few tips and notes that might be useful if you are
|
---|
2 | interested in modifying samba source code and getting it into
|
---|
3 | samba's main branch.</p><div class="variablelist"><dl><dt><span class="term">Retrieving the source</span></dt><dd><p>In order to contribute code to samba, make sure you have the
|
---|
4 | latest source. Retrieving the samba source code from CVS is
|
---|
5 | documented in the appendix of the Samba HOWTO Collection.
|
---|
6 | </p></dd><dt><span class="term">Discuss large modifications with team members</span></dt><dd><p>Please discuss large modifications you are going to make
|
---|
7 | with members of the samba team. Some parts of the samba code
|
---|
8 | have one or more 'owners' - samba developers who wrote most
|
---|
9 | of the code and maintain it.
|
---|
10 | </p><p>This way you can avoid spending your time and effort on
|
---|
11 | something that is not going to make it into the main samba branch
|
---|
12 | because someone else was working on the same thing or because your
|
---|
13 | implementation is not the correct one.
|
---|
14 | </p></dd><dt><span class="term">Patch format</span></dt><dd><p>Patches to the samba tree should be in unified diff format,
|
---|
15 | e.g. files generated by <strong class="userinput"><code>diff -u</code></strong>.
|
---|
16 | </p><p>If you are modifying a copy of samba you retrieved from CVS,
|
---|
17 | you can easily generate a diff file of these changes by running
|
---|
18 | <strong class="userinput"><code>cvs diff -u</code></strong>.</p></dd><dt><span class="term">Points of attention when modifying samba source code</span></dt><dd><p>
|
---|
19 | </p><div class="itemizedlist"><ul type="disc"><li><p>Don't simply copy code from other places and modify it until it
|
---|
20 | works. Code needs to be clean and logical. Duplicate
|
---|
21 | code is to be avoided.</p></li><li><p>Test your patch. It might take a while before one of us looks
|
---|
22 | at your patch so it will take longer before your patch when your patch
|
---|
23 | needs to go thru the review cycle again.</p></li><li><p>Don't put separate patches in one large diff file. This makes
|
---|
24 | it harder to read, understand and test the patch. You might
|
---|
25 | also risk not getting a good patch committed because you mixed it
|
---|
26 | with one that had issues. </p></li><li><p>Make sure your patch complies to the samba coding style as
|
---|
27 | suggested in the coding-suggestions chapter. </p></li></ul></div><p>
|
---|
28 | </p></dd><dt><span class="term">Sending in bugfixes</span></dt><dd><p>Bugfixes to bugs in samba should be submitted to samba's
|
---|
29 | <a class="ulink" href="https://bugzilla.samba.org/" target="_top">bugzilla system</a>,
|
---|
30 | along with a description of the bug.
|
---|
31 | </p></dd><dt><span class="term">Sending in feature patches</span></dt><dd><p>Send feature patches along with a description of what the
|
---|
32 | patch is supposed to do to the
|
---|
33 | <a class="ulink" href="mailto:samba-technical@samba.org" target="_top">Samba-technical mailinglist</a> and possibly to a samba team member who is (one of the) 'owners'
|
---|
34 | of the code you made modifications to. We are all busy people
|
---|
35 | so everybody tends to 'let one of the others handle it'. If nobody
|
---|
36 | responded to your patch for a week, try to send it again until you
|
---|
37 | get a response from one of us.
|
---|
38 | </p></dd><dt><span class="term">Feedback on your patch</span></dt><dd><p>One of the team members will look at your patch and either
|
---|
39 | commit your patch or give comments why he won't apply it. In the
|
---|
40 | latter case you can fix your patch and re-send it until
|
---|
41 | your patch is approved.</p></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="CodingSuggestions.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="modules.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 6. Coding Suggestions </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 8. Modules</td></tr></table></div></body></html>
|
---|