Does the new patchmaker still understand the .diff, .chromediff and .files file from an old installed patchmaker? I ask because I have a number of outstanding patches and if I have to upgrade my patchmaker I don't want to lose these.
Also...... Gervase Markham wrote: > > One of the changes to Patch Maker 2 makes it more compatible with the > layout of unjarred chrome in tarballs. This meant a change to the format > of the chromelist.txt file which ships with nightlies. Unfortunately, > this change is not backwardly-compatible. Patch Maker 0.75 will not work > with nightlies from 2002-02-17 onwards, and Patch Maker 2.0 will not > work with nightlies before that date. Will patch-maker ignore lines that it doesn't understand in a chromelist.txt file? I ask because I have some implementation thoughts on how to allow patch-maker to add completely new files in chrome patches. I haven't tried to implement it yet, but I think the theory is sound. It goes something like this: 1) When generating chromelist.txt from the jar.mn files, add a line at the beginning indicating which jar.mn file contained these lines. For example: ###something/somethingelse/something.jar.mn a/jar/filename (a/build/filename) ... This format would allow reconstruction of any jar.mn file from the chromelist file. 2) In the pma command, if the file cannot be found in the chromelist, offer the opportunity to add it as a completely new file. If the user accepts this option, they must specify a "guide file" which would be a file that *does* exist in chromelist, in the same location as the new file being added. The location to put the new file in the build tree, and which jar.mn to add it to, would be taken from this guide file. 3) When generating the chromediff, diff against /dev/null for new files. 4) When converting from a chromediff to a diff, use the location of the guide file as a template for the build-tree location of the new file. Also, use chromelist.txt to create a pristine copy of the jar.mn file, and also a copy of the jar.mn file with the appropriate line(s) inserted for new files (put each file immediately after its guide file). Diff the pristine jar.mn against the modified jar.mn and add this into the overall diff file. 5) When converting from a diff to a chromediff, first scan the diff for any jar.mn files that are changed. You can deduce the guide file to use by the line that appears immediately before the "+" line in the diff. This provides enough information to generate a chromediff and also to keep track of the newly added files as part of the patch filelist. This seems like it ought to work fine, but it does require a change in the chromelist syntax. If the syntax has changed incompatibly (as it seems to have now) it might be a good time to require all new versions of patchmaker to ignore lines they don't understand, so that this later change *won't* be an incompatible one. Stuart. -- Stuart Ballard, Programmer FASTNET - Internet Solutions 215.283.2300, ext. 126 www.fast.net
