Just recently converted the main user machines students and faculty use to OpenBSD 6.1. I've found out that git will abort in one scenario where there is a directory in the tree where the user has execute permissions but not read permissions.
I traced down this abort to a getcwd(3) call where git gets EACCES, and decides the world is ending. On the Linux server that was retired, the getcwd(3) call just works. Some folks suggested to me that getcwd(3) should work just fine in this scenario, so I installed a FreeBSD VM to see what happens there. git is perfectly happy there. That getcwd(3) works just fine. Ok, since it's not just Linux behaving this way, I'm now wondering if this is a bug in OpenBSD's getcwd(3). I realize this may also be a POSIX corner case. You can duplicate this scenario like this: $ mkdir -p test/foo $ chmod 111 test $ git init --bare test/foo fatal: unable to get current working directory: Permission denied $ So, is this a case where OpenBSD interprets POSIX differently? Is it a bug? Is git being stupid here? (This last one is probably yes). Thanks, --Kurt