On Sat, 19 Dec 2020 at 18:34, Achim Gratz <Stromeko@xxxxxxxx> wrote: > > Adam Dinwoodie writes: > > To my surprise, the test fails if the worktree is under "/cygdrive", > > /cygdrive is normally mounted with "posix=0", which only affects case > sensitivity, so that isn't the reason for this particular fail. You > should anyway not build a Cygwin package with that option in effect, > instead create your own mount point for that directory (with > "binary,user" options). > > > +++ diff -u f1_mode.expected f1_mode.actual > > --- f1_mode.expected 2020-12-19 16:50:20.169378700 +0000 > > +++ f1_mode.actual 2020-12-19 16:50:20.249126000 +0000 > > @@ -1 +1 @@ > > --rw------- > > +-rw-rw-r-- > > You seemingly can't change the ACL and/or several mode bits and see the > effective access that your euid / egid has instead. It is possible to > set up the (default) ACL in a way that removes the permission to change > them while otherwise still giving you what is effectively full access, > in which case the test fail is the result of an inability to remove the > default ACL from the directory. I suspect your build directory is owned > by a different user than the one you're building with and/or has been > moved or re-used from another Windows installation that has different > SID. Having done a bit more digging, you're (unsurprisingly) right that this seems to be about permissions rather than mount points per se. I see the same failure with a build in /cygdrive/c/Users/Adam/Documents/git, though, where that directory was created solely using Git commands with the installed version of Cygwin Git (v2.29.2-1). I'm using a test VM here that was created from scratch solely to run these tests, and where there has only ever been a single login user account, so the permissions setup should be about as straightforward as they possibly could be. This seems like a scenario that Cygwin should be able to handle, but I don't have a clear enough grasp of how Windows ACLs work in normal circumstances, let alone when Cygwin is handling them in its non-standard ways, to know what an appropriate solution here is. "Only ever build things within the Cygwin home directory" seems like a decidedly suboptimal workaround, though.