Скрипты ловушек: что означает флажок «Всегда выполнять сценарий» или соответствующий флаг «принудительное выполнение»?

719
aschipfl

В разделе «Сценарии ловушек» в настройках TortoiseSVN (версия 1.9.2, в Windows 7 x64) в диалоговом окне «Настройка сценариев ловушек» установлен флажок «Всегда выполнять сценарий»:

Configure Hook Scripts

Такой же флажок также присутствует в диалоговом окне «Свойства» для «Локальных сценариев подключения»:

Каков точный смысл этого?
В каких ситуациях скрипт хуков не выполняется, если этот флажок не отмечен?

В справочной документации это вообще не упоминается, снимки даже не показывают этот флажок.

Единственное, что я до сих пор выяснил, это то, что
он определенно не подавляет приглашение «Утвердить или отклонить скрипт подключения на стороне клиента».

Approve or reject client-side hook script

Флажок связан с enforceфлагом tsvn:*hookнедвижимости:

type_of_hook ^/path/to/hook/script [enforce] 
1
Посмотрите здесь http://svnbook.red-bean.com/en/1.8/svn.reposadmin.create.html#svn.reposadmin.create.hooks и, возможно, начните читать с ** Внедрение крючков репозитория ** вниз и / или ** Обычное использование для скриптов хуков **. Возможно, это сценарий перехвата уровня хранилища со стороны сервера, и он запускается только на этом уровне, а не на стороне клиента согласно документации. Pimp Juice IT 7 лет назад 0
@PIMP_JUICE_IT, на самом деле это сценарий подключения на стороне клиента, так как я должен предоставить локальный путь к сценарию подключения на моем клиенте; Я совершенно уверен, что это не проблема на стороне сервера, я даже вполне уверен, что это только TortoiseSVN-специфичные ... aschipfl 7 лет назад 0

1 ответ на вопрос

2
aschipfl

Кажется, я наконец-то нашел цель опции «Всегда выполнять скрипт» и enforceфлага:

В случае сбоя сценария перехвата может появиться диалоговое окно, подобное следующему (в зависимости от перехвата; в примере показан скрипт перехвата перед фиксацией без enforceфлага, который возвратил ненулевой код завершения ):

enter image description here

Возможно, вы уже узнали кнопку «Повторить без зацепок».

Если вы установите enforceфлаг для ловушки, кнопка повтора исчезнет:

enter image description here

Это единственная ситуация, когда я заметил разницу, когда установлен флаг enforce. Я вернусь сюда, как только найду дополнительные эффекты опции всегда выполнять.