For some reason Git isn't working with a repo mounted via encfs4win (I remember it did before, but don't know what/where changed).
I traced the issue down to the call to GetFinalPathNameByHandle which on my system fails with error 2, ERROR_FILE_NOT_FOUND.
Here's a test program to reproduce the issue.
#include <stdio.h>
#include <Windows.h>
int main(int argc, char**argv) {
char buf[512];
if (argc < 2) {
fprintf(stderr, "Usage: %s <some path>\n", argv[0]);
return 1;
}
HANDLE hnd = CreateFileA(
argv[1], 0,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL, OPEN_EXISTING, 0, NULL);
if (hnd == INVALID_HANDLE_VALUE) {
fprintf(stderr, "CreateFile(%s) failed, LastError %d\n", argv[1], GetLastError());
return 1;
}
if (!GetFinalPathNameByHandleA(hnd, buf, sizeof(buf), 0)) {
fprintf(stderr, "GetFinalPathNameByHandle(%s) failed, LastError %d\n", argv[1], GetLastError());
return 1;
}
printf("OK: %s\n", buf);
}
It works for any path outside encfs4win and fail for any path inside encfs4win.
Any idea how to debug this further?
For some reason Git isn't working with a repo mounted via encfs4win (I remember it did before, but don't know what/where changed).
I traced the issue down to the call to
GetFinalPathNameByHandlewhich on my system fails with error 2, ERROR_FILE_NOT_FOUND.Here's a test program to reproduce the issue.
It works for any path outside encfs4win and fail for any path inside encfs4win.
Any idea how to debug this further?