Closed
Description
The current implementation of Sys.isexecutable()
is broken on Windows; it does not properly query the relevant ACLs, and simply returns true
if the file exists.
It is necessary for us to emulate the proper behavior here as git tree hashing requires knowing if a file is executable or not, and the native git
tools on Windows do "the right thing", so in order to hash to the same value we will need to do the right thing as well.
The logic to do this is complex, but reducable. An example from cygwin is given here: https://github.com/Alexpux/Cygwin/blob/9c84bfd47922aad4881f80243320422b621c95dc/winsup/cygwin/sec_acl.cc#L636-L644