Whoops - my test function was testing the .git directory instead of .git/objects (as git does) - though .git has the same issue on execute permissions:
#: john@johndesktop:/cygdrive/l/tasks/cygwin_samba_uid_gid_handling ; ls -ld /cygdrive/l/.git drwxrwxrwx 1 john Unix_Group+1000 0 Apr 22 13:37 /cygdrive/l/.git #: john@johndesktop:/cygdrive/l/tasks/cygwin_samba_uid_gid_handling ; cat test_access.c #include <unistd.h> #include <stdio.h> int main() { char* path = "/cygdrive/l/.git/objects"; printf("access(%s, R_OK) returned %d\n", path, access(path, R_OK)); printf("access(%s, W_OK) returned %d\n", path, access(path, W_OK)); printf("access(%s, X_OK) returned %d\n", path, access(path, X_OK)); } #: john@johndesktop:/cygdrive/l/tasks/cygwin_samba_uid_gid_handling ; gcc test_access.c #: john@johndesktop:/cygdrive/l/tasks/cygwin_samba_uid_gid_handling ; a.exe access(/cygdrive/l/.git/objects, R_OK) returned 0 access(/cygdrive/l/.git/objects, W_OK) returned 0 access(/cygdrive/l/.git/objects, X_OK) returned -1 #: john@johndesktop:/cygdrive/l/tasks/cygwin_samba_uid_gid_handling ; ls -ld /cygdrive/l/.git/objects drwxr-xr-x 1 john Unix_Group+1000 0 Nov 13 14:13 /cygdrive/l/.git/objects -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple