Правильный способ добавить SVN: исполняемый файл - PullRequest
100 голосов
/ 22 апреля 2011

У меня есть несколько файлов, которые были исполняемыми до добавления их в svn. У них есть свойство svn: исполняемый файл. Теперь, несколько других файлов были проверены без исполняемого бита, его нет, и я хочу установить свойство svn: executeable:

$ svn propset svn:executable on *.cgi

Затем я проверяю статус, и даже файлы с исполняемым файлом svn: были изменены:

$ svn diff
Property changes on: a.cgi
___________________________________________________________________
Modified: svn:executable
   - 
   + *


Property changes on: b.cgi
___________________________________________________________________
Added: svn:executable
   + *

a.cgi не должен изменяться. Я хочу добавить бит svn: исполняемый файл, который будет установлен таким же образом, как и для других файлов, но не могу определить команду для этого.

Ответы [ 2 ]

155 голосов
/ 22 апреля 2011

Вы вправе использовать команды редактирования свойств svn. Свойство svn: исполняемый.

Чтобы добавить "исполняемый бит" в SVN

svn propset svn:executable on <list of files>

Чтобы удалить «исполняемый бит» в SVN

svn propdel svn:executable <list of files>

Документация SVN для этого находится здесь.

Если вы не изменяете исполняемые файлы, вы не изменяете исполняемый файл (контрольная сумма проверит это), но вы модифицируете SVN-репозиторий. Помните, что SVN пересматривает файловые системы, а не только файлы; Таким образом, изменение битов разрешения увеличит номер версии SVN, даже если это всего лишь изменение свойств файла (а не изменение самого файла).

0 голосов
/ 13 ноября 2015

Вот как я устанавливаю свойство исполняемого файла для всех файлов * .py в моем проекте, для которых установлен бит выполнения. Я выполняю это из каталога верхнего уровня

for f in `find ./ -name '*.py'`; do echo $f; if [ -x $f ]; then echo $f 'is executable setting svn:executable'; svn propset svn:executable on $f; else echo $f 'is not executable'; fi; done;
...