I've found a bug with CVS on 32-bit Cygwin. Easiest to demonstrate with a simple testcase: $ export CVSROOT=$(pwd)/tmpcvsroot $ cvs init $ cvs co -d $(pwd)/cvswork . cvs [checkout aborted]: cannot make directory : No such file or directory It appears to be including the `$(pwd)/` in the final command that is causing the problem here; using a relative path rather than an absolute one gives the behaviour I'd expect: $ export CVSROOT=$(pwd)/tmpcvsroot $ cvs init $ cvs co -d cvswork . cvs checkout: Updating cvswork cvs checkout: Updating cvswork/CVSROOT U cvswork/CVSROOT/checkoutlist U cvswork/CVSROOT/commitinfo ... This is also only an issue with the 32-bit versions. The 64-bit version seems to work just fine with both an absolute and a relative path. This is mostly relevant because this bug is preventing one of the Git tests from passing -- t9200-git-cvsexportcommit.sh. cygcheck output attached, although I doubt it's relevant in this case.