Я использую Cygwin на Windows 7 Professional.
Когда я создаю новые файлы, такие как MyNewFile.java, я получаю разрешение по умолчанию 755. Это не то, что я хочу. Я хочу, чтобы это было 644 для обычных файлов.
Это очень раздражает, когда приходится менять разрешения каждый раз, когда я создаю новые файлы вне терминала cygwin (cp из терминала cygwin работает нормально и просто сохраняет существующие разрешения, как и ожидалось, даже создание новых файлов изнутри cygwin работает).
В качестве альтернативы, есть ли способ в git автоматически изменять файлы * .myextension, чтобы всегда иметь определенное разрешение?
Если нет, есть ли способ рекурсивно выполнить chmod 644 все файлы * .myextension в папке (без ущерба для прав доступа к папке!)?
windows-7
permissions
git
cygwin
Умань
источник
источник
find ./ …
;find . …
работает просто отлично, и если вы привыкнете печататьfind ./
все время, на днях вы будете печататьfind / -exec rm …
(или, что то же самоеfind /. …
) случайно.Ответы:
Вам нужно изменить безопасность папки в Windows, в которую пишет cygwin, чтобы она соответствовала вашей конфигурации cygwin.
Например, с безопасностью по умолчанию я получаю:
После изменения безопасности для папки в Windows, я получаю:
Я обнаружил, что запись безопасности Windows «Все» соответствует значению «прочее» в списке «Группа пользователей другое» в команде ls. Удалите «Чтение и выполнение», оставив только «Чтение» для соответствия. Специальная запись безопасности CREATOR GROUP соответствовала "групповой" части для меня. Когда я отключил «Чтение и выполнение» и оставил только «Чтение включенным», все списки каталогов теперь соответствуют безопасности созданного cygwin-файла.
источник
Непонятно, чего вы здесь добиваетесь, но если вы пытаетесь заставить свой cygwin git игнорировать разрешения, сделайте следующее:
$ git config --local core.filemode false
источник