A package was submitted to savannah.gnu.org
This mail was sent to [EMAIL PROTECTED], [EMAIL PROTECTED]


Jay 'Eraserhead' Felice <[EMAIL PROTECTED]> described the package as follows:
License: gpl
Other License: 
Package: Eraserhead's Patch Manager
System name: epm
Type: GNU

Description:
epm is `Eraserhead's Patch Manager'.  It was inspired by `pm', which started with 
mozilla project, had a fork for working with CVS, then was remerged.  It is 
structurally very different, though.

There were three reasons for the reimplementation:

1) epm is designed to allow the user to shoot off many small (perhaps overlapping) 
patches on a possibly large work tree.  It can keep track of a stack of patches and 
you can push an empty patch on the stack and work with it, then pop it off the stack 
(which reverts your workspace) and work on something else, then you can push it back 
on, etc.  `pm' cannot handle overlapping patches.

2) `pm' cannot handle making patches with new files against a CVS repository to which 
you don't have access.  (Since you'd have to `cvs add' the file first.)

3) `pm' requires CVS.  I frequently work on quick patches for packages not in CVS.  
`epm' can work on any files in your system.

epm is written in C.

Here's is a quick idea of how it works:

$ epm push foo-patch
$ epm add foo.c
$ vi foo.c
$ epm add foo2.c
$ rm -f foo2.c
$ epm diff |mail -s 'patch to fix foo' [EMAIL PROTECTED]
$ epm push foo-feature-patch
$ epm add foo.c
$ vi foo.c
$ epm diff |mail -s 'patch to add feature to foo (requires foo fix)' [EMAIL PROTECTED]

The first diff would include changes to foo.c and the deletion of foo2.c.  The second 
diff would only include the changes for foo.c from the first patch to the second patch 
(since it was pushed on top of the first patch).

First working version is available at http://eraserhead.net/epm-0.1.0.tar.gz


Other Software Required:
It depends on -lpopt, -lxml2, -lglib2.  It shells out to an installed `diff' command 
and `merge' command.  It uses the GNU %z extension to strftime(), so it likely 
requires glibc.

Other Comments:



_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/



_______________________________________________
Savannah-hackers mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/savannah-hackers

Reply via email to