2012-05-28 5 views
4

В Git вы можете проверить файл с разрешениями 644 или 755. Я хотел бы обеспечить, чтобы все файлы .sh всегда сохранялись как 755 разрешений, чтобы их можно было немедленно выполнить. Особенно в среде Windows легко потерять разрешения случайно.Git: сценарий выполнения сценария оболочки принудительно

Итак, есть ли способ его настроить, желательно, чтобы обработка файлов была настроена с помощью .gitattributes? Возможно, это можно сделать с помощью крючка, но есть ли более чистый способ сделать это?

ответ

2

Это может быть возможно с использованием .gitattributes filter. Вы можете получить часть пути туда со следующей конфигурацией:

Добавить это .gitattributes:

*.sh filter=permissions 

и добавить к .git/config:

[filter "permissions"] 
     clean = chmod 755 %f 

Как только вы git add.sh файла , будет применен чистый фильтр, и его разрешения будут изменены. К сожалению, изменение разрешения не будет добавлено в индекс, поэтому это решение явно неполное.

+1

Я правильно понял, что фильтр будет в любом случае что-то, что нужно делать локально, а не что-либо, что мы можем хранить в контроле версий, поэтому для кого-либо, использующего репо? – eis

+0

Вы правы, я не думал об этом: вы можете добавить файл '.gitattributes' в репо, но если другие пользователи не определили фильтр разрешений в своей конфигурации, он ничего не сделает. – georgebrock

Смежные вопросы