Создайте сценарий подключения на стороне клиента, чтобы запретить пользователю совершать внешние действия в TortoiseSVN - PullRequest
2 голосов
/ 18 января 2010

Мой сундук имеет структуру:

\trunk
----\data
----\src
----\tool

с \tool является внешним по отношению к другому месту, а не по моему trunk. Так что я не хочу, чтобы пользователь фиксировал \tool в SVN. Они могут совершить только \data или \src.

Может ли кто-нибудь помочь мне создать скрипт-хук, чтобы пользователь не фиксировал внешние (в данном случае это папка \tool)?

1 Ответ

2 голосов
/ 18 января 2010

Я не очень хорошо знаком с внешними программами, но если вы хотите создать скрипт ловушки перед фиксацией, это довольно простой код, но его сложно отладить.

Ваша ловушка перед фиксацией принимает два параметра: $ ARGV [0] = путь к хранилищу, $ ARGV [1] = транзакция фиксируется.

Ваш скрипт-хук будет использовать svnlook, что-то вроде

svnlook dirs-changed -r $ARGV[0] -t $ARGV[1]

И вернуть (отрицательное?) Состояние выхода, если svnlook вернул, что инструменты (или что-либо, начиная с инструментов) изменились.

Все, что вы печатаете в STDERR, отображается клиенту как сообщение об ошибке.

Вы бы поместили этот скрипт в свой репозиторий под хуками, назовите его «pre-commit», сделайте его исполняемым

Обязательно ознакомьтесь с документацией svnlook , так как я собираюсь использовать память здесь

...