More information on style and format of patches.
diff --git a/documentation/patches.sgml b/documentation/patches.sgml
index 2c6fa7a..6b5a6c6 100644
--- a/documentation/patches.sgml
+++ b/documentation/patches.sgml
@@ -14,18 +14,28 @@
<itemizedlist>
<listitem>
<para>
- a description of what was wrong and what is now better
- (and now broken :).
+ A meaningfull subject (very short description of patch)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A long (paragraph) description of what was wrong and what is now
+ better (and now broken :). (recomended)
</para>
</listitem>
<listitem>
<para>
- your contact information ( Name/Handle and e-mail )
+ Change Log: A short description of what was changed.
</para>
</listitem>
<listitem>
<para>
- the patch in <command>diff -u</command> format (it happens...)
+ Your contact information ( Name/Handle and e-mail )
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The patch in <command>diff -u</command> format (it happens...)
</para>
</listitem>
</itemizedlist>
@@ -47,6 +57,118 @@
<para>
For removals, list the files.
</para>
+ <para>
+ Since wine is constantly changing due to development it is strongly
+ recomended that you use cvs for patches, if you cannot use cvs for
+ some reason, you can submit patches against the latest tarball.
+ To do this make a copy of the files that you will be modifying and
+ <command>diff -u</command> against the old file. I.E.
+ </para>
+ <screen>
+diff -u file.old file.c > file.txt
+ </screen>
+ </sect1>
+
+ <sect1 id="Style-notes">
+ <title>Some notes about style</title>
+
+ <para>
+ There are a few conventions that about coding style that have been
+ adopted over the years of development. The rational for these
+ <quote>rules</quote> is explained for each one.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Only one change set per patch. Patches should address only one
+ bug/problem at a time. If a lot of changes need to be made then it
+ is perfered to break it into a series of patches. This makes it
+ easier to find regressions.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Tabs are not forbidden but are defined as 8 charaters and the usual
+ amount of indentation is 4 characters.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ C++ style comments are discouraged since some compilers choke on
+ them.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Commenting out a block of code is usually done by enclosing it in
+ <command>#if 0 ... #endif</command> Statements. For example.
+ </para>
+ <screen>
+/* note about reason for commenting block */
+#if 0
+code
+code /* comments */
+code
+#endif
+ </screen>
+ <para>
+ The reason for using this method is that it does not require that
+ you edit comments that may be inside the block of code.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Patches should be inlined (if you can configure your email client to
+ not wrap lines), or attached as plain text attachements so they can
+ be read inline. This may mean some more work for you. However it
+ allows others to review your patch easily and decreases the chances
+ of it being overlooked or forgotten.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Code is usually limited to 80 columns. This helps prevent mailers
+ mangling patches by line wrap. Also it generally makes code easier
+ to read.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <sect2 id="Inline-Attachments-with-OE">
+ <title>Inline attachments with Outlook Express</title>
+ <para>
+ Outlook Express is notorious for mangleing attachements. Giving the
+ patch a <filename>.txt</filename> extention and attaching will solve
+ the problem for most mailers including Outlook. Also, there is a way
+ to enable Outlook Express send <filename>.diff</filename>
+ attachmnets.
+ </para>
+ <para>
+ You need following two things to make it work.
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Make sure that <filename>.diff</filename> files have \r\n line
+ ends, because if OE detects that there is no \r\n line endings it
+ switches to quoted-printable format attachments.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Using regedit add key "Content Type" with value "text/plain"
+ to the .diff extension under HKEY_CLASSES_ROOT (same as for .txt
+ extension). This tells OE to use Content-Type: text/plain instead
+ of application/octet-stream.
+ </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ Item #1 is important. After you hit "Send" button, go to "Outbox"
+ and using "Properties" verify the message source to make sure that
+ the mail has correct format. You might want to send several test
+ emails to yourself too.
+ </para>
+ </sect2>
</sect1>
<sect1 id="patch-quality">