Next: , Previous: Copying, Up: Top


1 Introduction

When a project becomes important in size, or when the development is performed cooperatively by several people across the Internet, it is a common practice to help maintaining it by using a revision control system. Such tools (Git, Mercurial, Subversion, Darcs, CVS, PRCS to name a few) usually work by maintaining a centralized or distributed project archive (also called a repository) that keeps track of the history of the changes, lets you develop different “branches” at the same time and perform operations like merges between these different project branches.

In such “RCS-based” maintenance models, making the project evolve usually involves repeatedly the same few steps, some of which can be tedious: you work on your local copy of the project; once you're satisfied with your changes, you create a patch by diffing your local copy against the project's archive; then (or progressively), you construct the ChangeLog entries. Finally, you propose your changes by sending a mail to the developers list with your patch and the ChangeLog entries included, hoping that your proposition will be accepted. If you're one of the maintainers, you will still probably send the message to the list, simply announcing the modification, and immediately commit the patch with an informative log message.

Patcher is an XEmacs package designed to automate this process. Patcher can't work on the project for you. However, as soon as you give it some basic knowledge on the project structure and repository, it can automatically build a patch by comparing your local copy with the repository, create ChangeLog entries, prepare a mail announcing the changes, and even commit the patch for you with a informative log message. All of this is done in just a few keystrokes. Additionally, Patcher can perform some sanity checks, like verifying that your local copy is up-to-date, that you did not forget some ChangeLog entries, that the commit operation went well and so on.

If you're brave and impatient, and want to start using the basics of Patcher as soon as possible, see Quick Start. It is recommended to read it anyway, since it gives an overview of how Patcher works. If you know the basics and want a more detailed guide, see User Manual.

Enjoy using Patcher!