apenwarr/bup — pull request #16 by wrouesnel (2013-01-02 09:21:38+00:00)
Title: Cygwin compatibility

This pull request brings bup into basic compatibility with Cygwin. `make test` runs successfully and backups can be made using all the basic functionality.

The biggest change of this pull is to add proper negative-nanosecond handling to _helpers.c stat_struct_to_py(). Negative values (which are sane) are properly detected and normalized to the positive format bup currently expects. This is not Cygwin-specific (though it mostly benefits Cygwin at the moment) and should allow bup to work correctly on other platforms which might do this.

Currently (due to the way the Cygwin port of Git works) symlinks won't be followed correctly (and the test involving them is disabled to allow the other tests to run with a Cygwin-specific check).

Using this patch, it should now be possible to git clone bup to and compile and use immediately on cygwin (although rebaseall is still required to allow fork to work correctly for Python).