Commits

Didier Verna committed d78d6f6

Update the XEmacs appendix.

doc/ChangeLog addition:

2011-12-15 Didier Verna <didier@xemacs.org>

* patcher.texi (XEmacs Development): Update.

Comments (0)

Files changed (1)

 @c Author:        Didier Verna <didier@xemacs.org>
 @c Maintainer:    Didier Verna <didier@xemacs.org>
 @c Created:       Sun Apr 21 21:34:06 2002
-@c Last Revision: Thu Dec 15 17:51:36 2011
+@c Last Revision: Thu Dec 15 22:02:53 2011
 
 @c This file is part of Patcher.
 
 This info file documents Patcher version @value{VERSION}.
 
 @menu
-* Copying::          The GNU General Public License
-* Introduction::     What Patcher is all about
-* Installation::     How to get and install Patcher
-* Quick Start::      For the brave and the impatient
-* User Manual::      A step-by-step guide to using Patcher
-* XEmacs Devel::     How to setup Patcher for XEmacs Development
+* Copying::            The GNU General Public License
+* Introduction::       What Patcher is all about
+* Installation::       How to get and install Patcher
+* Quick Start::        For the brave and the impatient
+* User Manual::        A step-by-step guide to using Patcher
+* XEmacs Development:: An XEmacs specific sample setup
 * Variables Index::
 * Functions Index::
 * Keystrokes Index::
 @chapter Quick Start
 
 This chapter demonstrates the use of Patcher through a quick and basic
-setup. Adapt the example as you wish. Let's make some assumptions first:
+setup. Adapt the example as you wish. See also @ref{XEmacs Development}
+for an XEmacs specific sample setup. Let's make some assumptions first:
 
 @itemize @bullet
 @item
 @c ====================================================================
 @c User Manual
 @c ====================================================================
-@node User Manual, XEmacs Devel, Quick Start, Top
+@node User Manual, XEmacs Development, Quick Start, Top
 @chapter User Manual
 
 This chapter provides a step-by-step guide to using Patcher. Everything
 
 
 @c ====================================================================
-@c XEmacs Devel
+@c XEmacs Development
 @c ====================================================================
-@node XEmacs Devel, Variables Index, User Manual, Top
-@chapter XEmacs Development
-
-We've taken the example of XEmacs in @ref{Quick Start} already. Here is
-some more specific information on how to setup Patcher for XEmacs
-development. This assumes you're a committer to the mercurial repository
-of the 21.5 branch.
-
-The way I do it, I have a directory named
-@code{/usr/local/src/xemacs/21.5} which is a clone of the Mercurial
-repository. Let's call it the @emph{local trunk}. I have set the proper
-@code{default} and @code{default-push} options in
-@code{/usr/local/src/xemacs/21.5/.hg/hgrc} so that I can push, pull,
-fetch or whatever without any argument on the command-line. I also have
-set the @code{username} option to my XEmacs identity (that's mainly for
-the commit log messages).
-
-When I work on a new feature, I do it in a directory named
-@code{/usr/local/src/xemacs/21.5-new-feature}, in which I commit
-regularly and occasionally merge with the main repository to keep up to
-date. When I'm satisfied with the feature, it's time to integrate it,
-but I don't want to import my whole personal history; so I just apply
-the final diff to my local trunk (which @emph{must} be up to date),
-commit locally with Patcher and then push it up by hand.
-
-Under those conditions, the Patcher setup is quite simple:
-@itemize @bullet
-@item
-Set the @code{:commit-privilege} option to @code{t}.
-@item
-Use the @code{mercurial} built-in theme.
-@item
-Use the mail method of your choice (I use Gnus).
-@item
-Put @code{change-logs} in the @code{:log-message-items} project options.
-@end itemize
-
-That's it. Patcher generates the ChangeLog entries and performs the
-local commit. I just finish by pushing by hand. Patcher will probably do
-that for me one day...
-
-As for the packages, they are still under CVS, so you can use the CVS
-theme which works out of the box.
+@node XEmacs Development, Variables Index, User Manual, Top
+@appendix XEmacs Development
+
+XEmacs development occurs on a Mercurial repository. Patches are
+advertised on @email{xemacs-patches@@xemacs.org}. We assume that you are
+a committer and have a clone of the main repository located at
+@file{/usr/local/src/xemacs/21.5}. Your @file{hgrc} file should look
+like this (replace my identity with yours):
+
+@cartouche
+@verbatim
+[ui]
+username = Didier Verna <didier@xemacs.org>
+
+[paths]
+default      = ssh://hg@bitbucket.org/xemacs/xemacs
+default-push = ssh://hg@bitbucket.org/xemacs/xemacs
+@end verbatim
+@end cartouche
+
+The following project settings will do nicely for hacking XEmacs:
+
+@cartouche
+@verbatim
+'("XEmacs 21.5" "/usr/local/src/xemacs/21.5"
+   :to-address "xemacs-patches@xemacs.org"
+   :change-logs-user-mail "didier@xemacs.org"
+   :commit-privilege t
+   :log-message-items (subject change-logs)
+   :themes (mercurial))
+@end verbatim
+@end cartouche
+
+If you want to also work on the packages, you may clone the big umbrella
+repository. Let's assume you do so in
+@file{/usr/local/share/emacs-lisp/source/xemacs-packages}. Your
+@file{hgrc} file should look like this:
+
+@cartouche
+@verbatim
+[ui]
+username = Didier Verna <didier@xemacs.org>
+
+[paths]
+default      = ssh://hg@bitbucket.org/xemacs/xemacs-packages
+default-push = ssh://hg@bitbucket.org/xemacs/xemacs-packages
+@end verbatim
+@end cartouche
+
+The following project settings will do nicely for hacking the packages
+(all settings are in fact inherited from the main XEmacs 21.5 project):
+
+@cartouche
+@verbatim
+'("XEmacs Packages" "/usr/local/share/emacs-lisp/source/xemacs-packages"
+  :inheritance ("XEmacs 21.5"))
+@end verbatim
+@end cartouche
+
+However, note that you shouldn't work on this project directly. Every
+package is in fact stored under this project as a Mercurial submodule.
+Patcher detects every such submodule automatically and creates a
+corresponding project for you (submodule projects are named @samp{XEmacs
+Packages (<submodule>)}. Because those really are independent projects,
+you should probably also update every @file{hgrc} file with your
+identity.
+
 
 
 @c ====================================================================
 @c Variables Index
 @c ====================================================================
-@node Variables Index, Functions Index, XEmacs Devel, Top
+@node Variables Index, Functions Index, XEmacs Development, Top
 @unnumbered Variables Index
 @printindex vr
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.