Laid some groundwork for porting the test suite to Windows, and getting it working in direct mode. That's not complete, but even starting to run the test suite in direct mode and looking at all the failures (many of them benign, like files not being symlinks) highlighted something I have been meaning to look into for quite a while: Why, in direct mode, git-annex doesn't operate on data staged in the index, but requires you commit changes to files before it'll see them. That's an annoying difference between direct and indirect modes.

It turned out that I introduced this behavior back on January 5th, working around a nasty bug I didn't understand. Bad Joey, should have root caused the bug at the time! But the commit says I was stuck on it for hours, and it was presenting as if it was a bug in git cat-file itself, so ok. Anyway, I quickly got to the bottom of it today, fixed the underlying bug (which was in git-annex, not git itself), and got rid of the workaround and its undesired consequences. Much better.

The test suite is turning up some other minor problems with direct mode. Should have found time to port it earlier.

Also, may have fixed the issue that was preventing GTalk from working on Android. (Missing DNS library so it didn't do SRV lookups right.)