This is my current list of open issues with the patch scripts. I would like to do the most intrusive changes before syncing up with the Savannah CVS. Of course, contributions are very welcome. It wouldn't hurt to know if you want to work on some of the issues in advance to avoid duplicate work, though :) -- Andreas Gruenbacher General: - Test if patches/ can be moved with environment variable as planned. - Abstract backup operations to/from the .pc/ directory, so that optionally something like rcs can be used instead of lib/backup-files? - Add regression test suite; the scripts were broken often enough already... - Add a ~/.quiltrc that contains default options for individual commands, similar to ~/.cvsrc. Also requires some more negative options so that the effects of ~/.quiltrc can be reversed. - Add something similar to cvs diff, which scans all files for changes that have not been folded back into their patches, similar to: `for p in $(quilt series); do quilt diff -z $p; done'? - Allow to add a directory? Then we could detect also new files in the directory, without having to add them individually. - Add option for creating hard links. - Instead of passing around and storing in applied-patches the short patch name (=patch file name with .dif .diff .patch .gz .bz2 stripped), translate from short names to real file names an the user interface, and work with full names internally. This will simplify regexp matching in several functions. - Support different diff/patch options for different patches. (By specifying them in the series file?) Documentation: - How to rediff with pushpatch -f / poppatch -f? - How to import a new version of a patch? - How to import a complete directory, before doing wild changes? (This will also cause new files to end up in the patch.) quilt refresh: - Add an -m option similar to `cvs commit -m "..."' to simplify keeping a change log in the patch documentation? parse-patch: - Handle SIGINT in parse-patch -u (in the part that moves the temp file to the patch)? backup-files: - Extend so that it can also copy files instead of hard linking, and when hard links are not possible. Also add option to disallow hard links on the original file (for patchadd). - SIGINT handling? quilt import: - Add option to replace the currently applied patch with a new one, by backing out the topmost patch first. - Diff -u the documentation of the old and new file, unless one of them is empty. Let the user decide whether to keep the left or the right documentation, or to merge them both. (-d{ona}?) quilt add: - Add option for creating (or rather, leaving) hard links. quilt setup: - spec2series also prints -p1; omit. quilt patches: - Add something so that it's possible to show a list of all patches, with those patches marked that modify the specified file. rpatch: - If not removing the topmost patch, add checks if any files are hidden by later patches. If so, refuse to remove patch! (Note that poppatch takes care of that currently.) apatch: - Allow to add a patch in the middle of the applied series, and inject the patch in its proper position in applied-patches. Needs to check if any of the files in the patch are touched by later patches. touched_by_patch: - Implement more of patch's filename heuristic: The following file is not recognized, for example... *** linux/drivers/parport/parport_cs.c.orig Sun Jun 23 09:20:21 2002 --- linux/drivers/parport/parport_cs.c Sun Jun 23 09:21:02 2002 *************** *** 48,53 **** --- 48,54 ---- #include #include + #include #include #include