Windows test suite fails the import/export tests.

It imports a file, but the worktree file remains a unlocked pointer file. So the test fails. Running git annex smudge--update fixed the file content.

Reproduced outside the test suite, and tried with GIT_TRACE=1. When `git-annex merge remote/master``runs git merge, it does then smudge --clean the imported files. But smudge --update does not get run. The post-merge hook should run it.

Ahh -- on windows, hooks are not written, because the code skips that for a crippled filesystem, assuming it has no execute bit.

So, this is both a problem on windows and on crippled filesystems. The user needs to run smudge --update themselves, or maybe git-annex can do it sometimes. Eg, git annex merge (and sync) could certianly smudge --update when on a crippled filesystem. And that would be enough to fix the test suite.

But if a user is on a crippled filesystem with an adjusted branch, and they do some other operation that would be covered by post-merge or post-checkout hook, they will be surprised to find unpopulated pointer files in the working tree.

I think this can be avoided. On eg fat on linux, all files are executable, so the hook can be installed and will work. On Windows, a hook can start with #!/bin/sh and not be executable, and will be run by the bash bundled with git for windows. --Joey

fixed; 100% test pass on windows now --Joey