I'm happy to announce the release of Patcher 4.0. This is a major
release introducing many new changes and enhancements.
Patcher is a tool designed to automate and ease the maintenance of
archive-based projects. It provides assistance in building, reporting
and committing patches, as well as in handling the corresponding
ChangeLog entries, for example by creating skeletons. Patcher is the
official tool for XEmacs development.
New in this release:
** NEW FEATURES
- Support floating projects and temporary relocation
allowing to use the same project descriptor for various directories.
- Support for automatic detection of submodules
via the :submodule-detection-function project option and the
patcher-detect-submodules function. Currently supported RCS submodules are
Mercurial and Git via the functions 'patcher-[hg|git]-detect-submodules.
- Support ephemeral ChangeLogs
thanks to a new :change-logs-status project option. Ephemeral ChangeLogs are
not stored in ChangeLog files, but exist only temporarily for mail or log
message insertion (See ChangeLogs Status in the documentation).
- ChangeLog minor mode
providing easy navigation through the mail/ChangeLog buffers cycle via C-c C-p
n, C-c C-p p, C-c C-p N, C-c C-p P and C-c C-p m (See ChangeLogs Navigation in
- Support for switching to mail buffer and inserting ChangeLogs at once
via C-c C-p l from ChangeLog buffers.
- patcher-mail-insert-change-logs gets a prefix argument
allowing to temporarily change the ChangeLogs appearance. It also supports
inserting ChangeLogs even when the project is set not to.
- Additional binding for patcher-logmsg-commit: C-c C-p c
- Commit command buffer is now editable
Commit is done via C-c C-p c or C-c C-c (patcher-cmtcmd-commit).
- Fontification of commit command and log message buffers
with comment syntax and initial informative help. See new Patcher faces.
- Support for commit or log message canceling
via C-c C-z.
- Support for project abortion
via C-c C-p k or C-c C-k in all relevant buffers, including ChangeLogs.
- Support Subject: header modification in mail adaptation routines
via a new project option :subject-rewrite-format.
- Support project-wide dynamic subject modification
via C-c C-p S in both mail and log message buffers.
- Implement :kill-source-files-after-sending project option
- Support for source file saving
- Support for CVS diff's broken exit code policy
via a new project option: :ignore-diff-status.
* FIXES AND IMPROVEMENTS
- Improved support for temporary subprojects
making them behave like permanent ones (with a specific subdirectory and set
- Much better error handling
including exit code checking for external processes.
- Improved support for overlapping Patcher instances
through buffer and file referencing for both ChangeLog and source files.
- Documentation rewrite and sections organization cleanup
- More checks for project consistency
including missing or spurious ChangeLog entries, source diffs, undiffable and
uncommittable projects etc.
- Improved project rediffing
including support for partially generated ChangeLog skeletons, and interactive
prompting for skeleton un/re-generation.
* BACKWARD INCOMPATIBLE CHANGES
- Mercurial themes renamed from 'mercurial to 'hg
in order to remain consistent with the other RCS theme names.
- ChangeLogs insertion in mail buffers rebound to C-c C-p l
- Compressed ChangeLogs insertion in logmsg buffers rebound to C-c C-p L
- Removed directory-sep-char hacks
until the need for it raises again. Probably better implemented via project
- Diff commands can no longer be changed from patcher-mail-[adapt]
but instead, the prefix argument allows for temporary subproject
- patcher-*-subproject entry points removed
since they are no longer needed (see above).
- Removed :kill-source-file-after-diffing option
- :kill-source-files-after-sending renamed to :kill-sources-after-sending
- patcher-mail-check-change-logs-insertion is now a project option
- patcher-mail-check-commit-action is now a project option
- :change-logs-diff-command option now understands nil instead of 'diff
- The 'packed ChangeLogs appearance has been renamed to 'pack
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22