Subversion отображает пользовательское сообщение при обновлении - PullRequest
2 голосов
/ 07 ноября 2010

Пусть хранилище SVN будет доступно многим пользователям.пусть хранилище svn будет использоваться для хранения версий сценария создания базы данных и некоторых других не кодовых объектов.Есть ли способ отобразить пользовательское сообщение (то есть: которое может быть прочитано из файла) при обновлении?
пример:
я работаю над $ project
я изменяю класс инкапсуляции запросов к базе данных так, чтобы яя также добавляю один атрибут в таблицу базы данных -> мне нужно изменить скрипт создания тестовой базы данных, чтобы он содержал новое значение
я изменяю файл post-update-msg (вызываемый, я полагаю, по почтеобновите svn hook), написав в нем:

ВНИМАНИЕ: изменен скрипт some_db_script, вам необходимо снова сгенерировать тестовую базу данных

и каждый клиент после выполнения

svn update

команда, получает что-то вроде:

user @ box: ~ / code / svn-working-copy $ svn update
U многие другие вещи
U scripts / some_db_script
Обновлено до ревизии n + 1
ПРЕДУПРЕЖДЕНИЕ: some_db_script изменен, вам нужно снова создать тестовую базу данных user @ box: ~ / code / svn-рабочая копия $

это можно сделать через svn hooks?Есть ли другой более элегантный / лучший способ сделать это?
заранее спасибо

Ответы [ 2 ]

1 голос
/ 07 ноября 2010

Только в терминах Subversion это невозможно, поскольку Subversion не обеспечивает никаких перехватов после обновления

Таким образом, вы будете полагаться на сторонние инструменты (возможно, свой собственный скрипт проверки?), Которые должны проверять обновленные файлы и отображать такое сообщение.

Хочу отметить, что TortoiseSVN поддерживает такие перехваты после обновления (см. Инструкции здесь ), однако вы напрямую зависите от TortoiseSVN (неплохо, если вы спросите меня), но не можете включить другие клиенты Subversion (командная строка или инструменты на основе IDE). Также Вам необходимо «развернуть» эти клиентские хуки (как сказано в названии) на каждом клиенте.

0 голосов
/ 07 ноября 2010

Насколько мне известно, то, что вы просите, не может быть выполнено так, как вы ожидаете. В качестве обходного пути вы можете проверить изменения схемы дБ во время фиксации и установить пользовательское свойство (скажем, svn: isdbchanged), которое будет содержать ревизию, в которой изменена схема дБ. Позже, во время сборки, возможно, вы сможете отобразить свойство из скрипта сборки после проверки, была ли выполнена последняя сборка до обновления конкретной ревизии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...