From: Eric Sunshine Date: Sun, 24 Mar 2013 02:49:17 GMT Subject: Re: [RFC] test-lib.sh: No POSIXPERM for cygwin Message-ID: In-Reply-To: <201303231340.29687.tboegi@web.de> On Sat, Mar 23, 2013 at 8:40 AM, Torsten Bögershausen wrote: > Subject: [PATCH] Make core.sharedRepository work under cygwin 1.7 > > When core.sharedRepository is used, set_shared_perm() in path.c > needs lstat() to return the correct POSIX permissions. > > The default for cygwin is core.ignoreCygwinFSTricks = false, which > means that the fast implementation in do_stat() is used instead of lstat(). > > lstat() under cygwin uses the Windows security model to implement > POSIX-like permissions. > The user, group or everyone bits can be set individually. > > do_stat() simplifes the file permission bits, and may return a wrong value: > The read-only attribute of a file is used to calculate > the permissions, resulting in either rw-r--r-- or r--r--r-- > > One effect of the simplified do_stat() is that t1301 failes. s/failes/fails/ > Add a function cygwin_get_st_mode_bits() which returns the POSIX permissions. > When not compiling for cygwin, true_mode_bits() in path.c is used.