Re: [PATCH] apply: don't use core.sharedRepository to create working tree files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux