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