Initial import
[samba] / docs / htmldocs / Samba3-Developers-Guide / contributing.html
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.68.1"><link rel="start" 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="surname">Vernooij</span></h3><div class="affiliation"><span class="orgname">The Samba Team<br></span><div class="address"><p><code class="email">&lt;<a href="mailto:jelmer@samba.org">jelmer@samba.org</a>&gt;</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 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 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>