Cygwin 1.7.1 breaks git on netapp shared drives

Steve Bray steve4578@comcast.net
Thu Mar 25 12:37:00 GMT 2010


On 03/24/2010 04:15 AM, Corinna Vinschen wrote:
> On Mar 23 16:37, Chris Idou wrote:
>>
>>
>> After a heck of lot of screwing around, I got this mount point stuff working. Now when I create files under cygwin they have the same permissions profile as they do when I create them under windows.
>>
>> BUT...
>>
>> git doesn't work still. It fails with the exact same error of "unable to set permission". How do the cygwin APIs work under noacl? They shouldn't ever return error code should they?
>
> They should.  There's the one case in which you're trying something like
> chmod 444.  Under noacl conditions this sets the DOS R/O attribute.  If
> that fails, the call fails.
>
>
> Corinna
>
In my original post I acknowledged that we can not make NTFS ACLS 
exactly match POSIX behavior.  The best that we can do is consider the 
impact of our choices.

The cygwin 1.5 behaviour often failed to report chmod failures but many 
of us have been happily using cygwin for a long time and never noticed.

With cygwin 1.7 the trade-offs in handling NTFS ACLS were changed. 
chmod failures are now reported but now chmod fails unless the user has 
NTFS ACLS that support changing permissions.  All of the Windows shared 
drives, that are secured, do not give users permission to change 
permissions on the files that they create and own.  This does not occur 
on POSIX.  Application like git and svn will fail.  The following will fail:

$ echo foo stuff > foo
$ chmod 444 foo


In our case we still had permissions on our shared drive to write 
attributes and extended attributes.  In any case, after mounting with 
noacl git can change the RO flag and is functional.

I was not able to test a condition that blocked changing the RO flag.
I removed ACLS for write attibutes, write extended attributes (and 
change permissions) but chmod and git were still able to set the files 
RO.  My permissions might be leaking through in some way.  I have only 
one account and limited permissions to do much investigation.

If Chris is in an organization that removes permission to change either 
ACLS or the RO flag, then how does he use cygwin and git?

Thanks in advance for any help.  Putting a POSIX face on Windows is 
truly a daunting task.




--
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



More information about the Cygwin mailing list