Just another perl hacker somewhere near Disneyland
All I wanted was diff and patch from the Cygwin tools (I installed the whole thing on my old system, but I just wanted the minumum on the new one), so when you get to selecting packages (running their setup.exe), you have to open up every category, and uncheck every package, and open up 'Utils' and check 'patch' (because it's not checked by default). It loads most dependencies by default, except, for some reason, libintl1 (you end up getting "Can't find libxxxx.dll when you try to run after installation). I think I saw that in the FAQ, but why is it not just in the dependency list and automatically installed?
Why am I doing this? Because I'm patching SqlWindows code (I've mentioned this before, hope I'm not being too redundant), and the built in diff/merge tool sux. And I like having a record of my changes in the form of diffs. You could probably get the same thing from CVS, but we're already using the built in Version control, and not likely to change that anytime soon (or maybe I should just set up my own repository). It has diff files (which it calls 'reverse-deltas'), but they're useless for seeing what changes you actually made. If you add, say, a while loop block of code, the reverse-delta will just list the first line of the block (the "while xxxx" part), so the file is only good for undoing your changes to a particular version of code. Bleh.