From: Simon Josefsson Date: Tue, 20 Sep 2005 12:59:27 +0000 (+0000) Subject: Add, from Reiner Steib . X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=commitdiff_plain;h=3413db1c5b93a49a859f31453dc3d28539f4d161;hp=b68941115bcfbe48de8b5de372bfbe41ad626eb0 Add, from Reiner Steib . --- diff --git a/texi/ChangeLog b/texi/ChangeLog index a2d454b4d..40676d8d5 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,8 @@ +2005-09-20 Simon Josefsson + + * gnus-coding.texi: New file, from Reiner Steib + . + 2005-09-17 Romain Francoise 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 index 000000000..18b1f3db4 --- /dev/null +++ b/texi/gnus-coding.texi @@ -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 +@c + +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 + +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: