Add, from Reiner Steib <reiner.steib@gmx.de>.
authorSimon Josefsson <jas@extundo.com>
Tue, 20 Sep 2005 12:59:27 +0000 (12:59 +0000)
committerSimon Josefsson <jas@extundo.com>
Tue, 20 Sep 2005 12:59:27 +0000 (12:59 +0000)
texi/ChangeLog
texi/gnus-coding.texi [new file with mode: 0644]

index a2d454b..40676d8 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-20  Simon Josefsson  <jas@extundo.com>
+
+       * gnus-coding.texi: New file, from Reiner Steib
+       <reiner.steib@gmx.de>.
+
 2005-09-17  Romain Francoise  <romain@orebokech.com>
 
        Update all files to specify GFDL version 1.2.
diff --git a/texi/gnus-coding.texi b/texi/gnus-coding.texi
new file mode 100644 (file)
index 0000000..18b1f3d
--- /dev/null
@@ -0,0 +1,157 @@
+\input texinfo
+
+@setfilename gnus-coding
+@settitle Gnus Coding Style and Maintainance Guide
+@syncodeindex fn cp
+@syncodeindex vr cp
+@syncodeindex pg cp
+
+@copying
+Copyright (c) 2004  Free Software Foundation, Inc.
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with the Front-Cover texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License'' in the Emacs manual.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software.  Copies published by the Free
+Software Foundation raise funds for GNU development.''
+
+This document is part of a collection distributed under the GNU Free
+Documentation License.  If you want to distribute this document
+separately from the collection, you can do so by adding a copy of the
+license to the document, as described in section 6 of the license.
+@end quotation
+@end copying
+
+
+@titlepage
+@title Gnus Coding Style and Maintainance Guide
+
+@c @author by 
+
+@insertcopying
+@end titlepage
+
+@node Top
+
+@section Gnus Coding Style
+@subsection Dependencies
+
+@c message / gnus
+@c 
+@c nn*
+@c 
+@c mm*
+@c 
+@c rfc*
+@c 
+@c tla netrc pop3 dig dns ...
+@c format-spec.el
+
+@subsection Compatibility
+
+@c Compatibility with XEmacs and older Emacs versions in v5-10 and in the
+@c trunk.
+
+@c @table
+@c x
+@c @end table
+
+@section Gnus Maintainance Guide
+
+@subsection Stable and development versions
+
+The CVS trunk is developed quite actively.
+
+@c Most of the time Gnus is developed on the trunk.
+
+@c Exeption: several month of feature freeze after a release,
+@c e.g. 5.10.1
+
+
+@subsection Syncing
+
+@c <v9eklyke6b.fsf@marauder.physik.uni-ulm.de>
+@c <buovfd71nkk.fsf@mctpc71.ucom.lsi.nec.co.jp>
+
+I do Emacs->Gnus less often (than Gnus->Emacs) because it tends to
+require more manual work.
+
+By default I sync about once a week.  I also try to follow any Gnus
+threads on the mailing lists and make sure any changes being discussed
+are kept more up-to-date (so say 1-2 days delay for "topical" changes).
+
+
+@c <buovfd71nkk.fsf@mctpc71.ucom.lsi.nec.co.jp>
+
+BTW, just to add even more verbose explanation about the syncing thing:
+
+Basically my idea is that the Emacs-Gnus gateway will cause all common
+files in Emacs and Gnus v5-10 to be identical except when there's a very
+good reason (e.g., the Gnus version string in Emacs says "5.11", but the
+v5-10 version string remains "5.10.whatever").  Furthermore, all changes
+in these files in either Emacs or the v5-10 branch will be installed
+into the Gnus CVS trunk, again except where there's a good reason
+(typically so far the only exception has been that the changes already
+exist in the trunk in modified form).  Because of this, when the next
+Emacs Gnus upgrade comes, it should be very easy -- just plonk in the
+files from the Gnus trunk without worrying about lost changes from the
+Emacs tree.
+
+The effect of this is that as hacker, you should generally only have to
+make changes in one place:
+
+  1) If it's a file which is thought of as being outside of Gnus (e.g.,
+     the new "encrypt.el"), you should probably make the change in the
+     Emacs tree, and it will show up in the Gnus tree a few days later.
+
+     If you don't have Emacs CVS access (or it's inconvenient), you can
+     change such a file in the v5-10 branch, and it should propagate to
+     Emacs CVS -- however, it will get some extra scrutiny (by me) to see
+     if the changes are possibly controversial and need discussion on the
+     mailing list.  [Many changes are obvious bug-fixes however, so often
+     there won't be any problem.]
+
+  2) If it's to a Gnus file, and it's important enough that it should be
+     part of Emacs/v5-10, then you can make the change on the v5-10
+     branch, and it will go into Emacs CVS and the Gnus CVS trunk (a few
+     days later).
+
+     If you know that there will be conflicts (perhaps because the
+     affected source code is different in v5-10 and the Gnus CVS trunk),
+     then you can install your change in both places, and when I try to
+     sync them, there will be a conflict -- however, since in most such
+     cases there would be a conflict _anyway_, it's often easier for me
+     to resolve it simply if I see two "identical" changes, and can just
+     choose the proper one, rather than having to actually fix the code.
+
+  3) For general Gnus development changes, of course you just make the
+     change on the Gnus CVS trunk and it goes into Emacs a few years
+     later... :-)
+
+Of course in any case, if you just can't wait for me to sync your
+change, you can commit it in more than one place and probably there will
+be no problem; usually the changes are textually identical anyway, so
+can be easily resolved automatically (sometimes I notice silly things in
+such multiple commits, like whitespace differences, and unify those ;-).
+
+
+@subsection Miscellanea
+
+Starting from No Gnus, the @file{GNUS-NEWS} is created from
+@file{texi/gnus-news.texi}.  Don't edit @file{GNUS-NEWS}.  Edit
+@file{texi/gnus-news.texi}, type @command{make GNUS-NEWS} in the
+@file{texi} directory and commit @file{GNUS-NEWS} and
+@file{texi/gnus-news.texi}.
+
+
+@c Local Variables:
+@c mode: texinfo
+@c coding: iso-8859-1
+@c End: