svn:executable property on Windows filesystems does have an effect
The official documentation of the Subversion version control system
Brought to you by:
cmpilato,
danielshahaf
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: cmpilato
(No comment was entered for this change.)
Labels: Milestone-whenever
I'm not so sure about this.
Indeed NTFS has a "Read and execute" permission, but Subversion doesn't (as far as I can tell) sent any NTFS permissions.
I tried to trace the svn:executable property and it seems to end up in svn_io_set_file_executable. There is a comment:
[[[ On Windows and OS/2, just exit -- on unix call our internal function which attempts to honor the umask. ]]]
According to my tests, a new file inherits the "Read and execute" permission from the parent directory when it is checked out, no matter the svn:executable property.
I'm suggesting to close this ticket.
As I read this, I believe the OP is not suggesting that Subversion behaves any differently than the book describes, but rather that the text misrepresents NTFS as not having a notion of an executable permission bit. Unfortunately, the proposed fix causes a different confusion by allowing an NTFS-knowledgeable person to assume that Subversion will conditionally set that bit on NTFS (which, of course, it does not).
Perhaps the text could be changed to read instead:
?
Last edit: C. Michael Pilato 2022-01-02
(y)
It also doesn't have an effect on OS2, but I don't know how relevant it is these days.
I still have a lingering nag here. I assumed the executable bit was a feature of the filesystem, not of the OS. Yet, "system calls" are a feature of the OS.
It's common to have, say, a FAT32 volume mounted in Linux. But does the reverse occur, where an ext3 filesystem is mounted in Windows? It sounds like APR won't try to set an executable bit on such a filesystem.
What about network filesystems? Will APR preserve the executable bit on, say, an NFS mount when accessed via Windows?