This plugin performs Cygwin path conversion before forking new processes
One of the challenge in Hudson is how to cope with a heterogeneous cluster (that includes Windows and Unix.) Often you need such a cluster so that you have all the testing environments for your supported platforms, but it makes it harder for jobs to utilize the cluster effectively, because your shell script that run on Unix doesn't run on Windows, and your batch files for Windows won't run on Unix.
One way to cope with this problem is to use Cygwin. This creates a Unix like environment on Windows, so that your build/test scripts can always be written as Unix shell scripts, even when they run on Unix.
This also allows you to mostly use Unix paths on specifying your tool locations (such as JDKs, Ant, CVS, etc.), except it doesn't quite work with Cygwin. You say your shell is in "/bin/bash", and indeed as far as Cygwin is concerned, it's there, but when Hudson forks a new shell, it's somewhere like "c:\cygwin\bin\bash" — you'd need a Cygwin path conversion to be able to successfully fork a process!
This plugin does just that; With this plugin, Hudson converts the executable path to Windows style via cygpath.