## MakePatchDirs

### Perry's patch process with MakePatchDirs

Perry wrote a small program, which he is happy to share in source or binary form, that he uses to generate patch directories. Here is his process:

- Update local cvs copy to ensure starting with most recent sources (optional).

- Create a new directory for the patch, eg, "`Somewhere\WinMerge\patches\new_nifty_patch`".

- Create a subdirectory called "`new_nifty_patch\original_all`" and copy WinMerge and common directories into it.

- Copy this directory and rename the copy as "`new_nifty_patch\applied`"

- Make changes to the code in the applied version and test until happy.

- Run `MakePatchDirs`, and drag and drop the patch directory root (`Somewhere\WinMerge\patches\new_nifty_patch`) into the edit box, then push the Go button. This wipes and regenerates the directories `new_nifty_patch\original` and `new_nifty_patch\altered`, which contain all files altered in the applied version, and the corresponding original files. (This purely uses timestamps; it is not nearly as clever as WinMerge itself.)

- Zip up the altered and original directories, and attach them to the patch. (I always create the patch, then attach files afterwards, because SourceForge seems to always lose attachments if they were attached when the patch is first created.)

This process is optional; you are welcome to adopt it if you like. If you have a better system, please consider posting it on the developers forum so we may all potentially benefit.

I, Perry, like having the applied subdirectory around to rerun tests with, for a little while, and like having the altered and original subdirectories which I can compare with WinMerge. :)

Back to readme-developers