It seems that read-only files in Cygwin 1.7 are not truly read-only. The sequence of steps below shows that "chmod 444 file1" does not make the file read-only in Cygwin 1.7, while it does in Cygwin 1.5. It may have something to do with the Read Only DOS attribute. This is set by Cygwin 1.5 but not by Cygwin 1.7. If I manually set it for Cygwin 1.7, the file does become read-only.
(This issue was brought to my attention by a failing subversion test after building for 1.7.) ---------------------------------------------------------------------- [1.7] % mkdir /tmp/ro-test [1.7] % cd /tmp/ro-test [1.7] % ls -ld drwxr-xr-x+ 1 drothe None 0 Dec 31 15:18 . [1.7] % touch file1 [1.7] % ls -l total 0 -rw-r--r-- 1 drothe None 0 Dec 31 15:18 file1 [1.7] % chmod 444 file1 [1.7] % ls -l total 0 -r--r--r-- 1 drothe None 0 Dec 31 15:18 file1 [1.7] % test -w file1 && echo yes yes [1.7] % echo foo > file1 [1.7] % cat file1 foo [1.7] % attrib file1 A C:\cygwin-1.7\tmp\ro-test\file1 [1.7] % attrib +r file1 [1.7] % test -w file1 && echo yes [1.7] % echo bar > file1 bash: file1: Permission denied [1.7] % cat file1 foo ---------------------------------------------------------------------- Here is the same sequence of steps using Cygwin 1.5. ---------------------------------------------------------------------- [1.5] % mkdir /tmp/ro-test [1.5] % cd /tmp/ro-test [1.5] % ls -ld drwxr-xr-x+ 2 drothe None 0 Dec 31 15:21 . [1.5] % touch file1 [1.5] % ls -l total 0 -rw-r--r-- 1 drothe None 0 Dec 31 15:21 file1 [1.5] % chmod 444 file1 [1.5] % ls -l total 0 -r--r--r-- 1 drothe None 0 Dec 31 15:21 file1 [1.5] % test -w file1 && echo yes [1.5] % echo foo > file1 bash: file1: Permission denied [1.5] % cat file1 [1.5] % attrib file1 A R C:\cygwin\tmp\ro-test\file1 [1.5] % attrib -r file1 [1.5] % attrib file1 A C:\cygwin\tmp\ro-test\file1 [1.5] % ls -l total 0 -r--r--r-- 1 drothe None 0 Dec 31 15:21 file1 [1.5] % test -w file1 && echo yes yes [1.5] % echo foo > file1 bash: file1: Permission denied [1.5] % cat file1 ---------------------------------------------------------------------- -- David Rothenberger ---- [email protected] Agnes' Law: Almost everything in life is easier to get into than out of.
