Мой клиент Cygwin SVN изменил поведение в отношении Windows ACL между версиями 1.6.17 и 1.7.4.
[ОБНОВЛЕНИЕ: SVN 1.7.4 и 1.6.17 на самом деле ведут себя одинаково,Проблема лежит в другом месте.Чего я не понял, так это того, что он перестал работать, вероятно, обновление Cygwin.]
[ОБНОВЛЕНИЕ: Собственный Cygwin-клиент SVN фактически учитывает ключевое слово svn:executable
, устанавливая исполняемый бит ACL для текущего пользователя.Упоминание «не действует под Windows» в книге SVN следует воспринимать с осторожностью.]
Запуск проверки с 1.7.4 устанавливает все извлеченные файлы только для чтения для текущего пользователя.Например, и это то, что раздражает в моем конкретном случае, он не устанавливает флаг выполнения для пакетов.В свойствах файла на вкладке «Безопасность» установлен флажок Read
для Everyone
и Read
/ Write
для текущего пользователя.
Запуск проверки с 1.6.17 не показывает это поведение,Файлы извлекаются с удобными правами, и пакеты могут быть выполнены.В свойствах файла на вкладке «Безопасность» установлен флажок Read & execute
/ Read
для Everyone
и Modify
/ Read & execute
/ Read
/ Write
для текущего пользователя, чего я и ожидал отпроверка.Эта проверка является частью сценариев, поэтому среда одинакова в обоих тестовых сценариях.
Я не нашел упоминания об этом поведении в svn tickets, и поиск не увенчался успехом.Большинство результатов относятся к конфигурации на стороне сервера.
Я не эксперт по ACL / NTFS, я прочитал статью о Cygwin posix / windows в http://cygwin.com/cygwin-ug-net/ntsec.html,, но это не прояснило разницу.
- Я попробовал ключевое слово svn: исполняемый файл, но, как и ожидалось, это не действует в Windows.
- Такая же разница наблюдается в Windows 7 или в XP.
- Я заметил, что TortoiseSVN 1.7.6 (построенный на «родном» SVN 1.7.4) правильно запускает проверку.
- У меня есть свежая установка по умолчанию
/etc/fstab
, которая пуста, и нет /etc/fstab.d
config.
Не то, чтобы я был недоволен 1.6.17, но некоторые функции в 1.7.4 интересны.
Как мне решить эти странные права доступавопрос