2010-12-07 2 views
1

Я переношусь на Mercurial из SVN, и мы создаем старый репозиторий SVN только для чтения.Уведомлять о любых изменениях в репозитории SVN только для чтения?

Я хочу найти способ получить уведомление, если что-то изменится в старом репозитории SVN после того, как оно предположительно установлено только для чтения. Однако у меня нет прямого доступа для добавления перехватчиков в SVN или любого другого типичного решения.

Я знаю, что есть, вероятно, лучшие способы предотвратить эту проблему, но я в основном параноик, так как кто-то может работать над безопасностью SVN, так что просто юмористируйте меня.

Одна из моих идей заключалась в том, чтобы сохранить мои существующие сборки CruiseControl.NET, но автоматически их сбрасывать, если что-либо изменится. Что еще возможно?

+0

Я думаю, я должен уточнить, что я нахожусь в Windows, и мы используем VisualSVN Server на данный момент. –

ответ

1

Вы можете использовать SVN Notifier.Почти не требуется настройка; просто наведите инструмент на рабочую копию, чтобы прочитать URL-адрес svn, и все готово. Интервал проверки может быть настроен. Это оно!

+0

+1 для простоты! Я совсем забыл об этом инструменте. Это все, что мне нужно для моего спокойствия/паранойи. Благодаря! –

+0

Кстати, я закончил использовать другой инструмент: CommitMonitor, который имел немного более активную разработку. http://commitmonitor.googlecode.com/ –

+0

Неплохо, но IIRC, было больше работы с настройкой проверяемых репозиториев, а не только направлением инструмента в папку с информацией svn (т. е. рабочая копия). Но, указав URL-адрес для просмотра, вы можете смотреть его без проверочной рабочей копии -> экономит место на вашем диске. – eckes

0

Установить cronjob из

статус Svn

, что письма его выход к вам? На данный момент у меня нет Subversion, но я не думаю, что добавляет какие-либо заголовки или что-то еще - вы могли бы вывести вывод через что-то, чтобы удалить строки, если это произойдет, так что он будет отправлять только ваши электронные письма.

+0

Статус svn работает только с рабочими копиями, а не с репозиторием. – jgifford25

1

Я не знаю, слишком ли много для того, чего вы хотите, но WebSVN дает вам канал RSS, который вы можете подписаться на RSS reader. Таким образом вам просто нужно следить за RSS-каналом. Кроме того, он предоставляет веб-интерфейс только для чтения в SVN-репозиторий, поэтому вы можете избавиться от наличия локальных копий кода SVN.

+0

Это не плохой вариант, но я бы предпочел какое-то push-уведомление. Мы используем VisualSVNServer, который уже предлагает веб-интерфейс, но я не вижу поддержки RSS, или я бы просто использовал это. –

1

Вы можете настроить разрешения репозитория Subversion как «только для чтения», независимо от того, обслуживается ли он через Apache httpd или через svnserve. На самом деле это предпочтительный метод, вместо того, чтобы настраивать крюк pre-commit, который всегда возвращает exit 1. Конфигурация проста в использовании, и поскольку вам все равно нужно настроить репозиторий Subversion, почему бы просто не сделать так?

Конечно, вы, вероятно, также хотели бы посмотреть файловую систему, чтобы убедиться, что она не изменится. Вы можете использовать такие вещи, как Hudson или CruiseControl, чтобы посмотреть структуру каталогов, но они, как правило, должны находиться на том же компьютере, что и репозиторий Subversion.

Вы также можете использовать Sventon, который является веб-браузером репозитория Subversion. Как и другие браузеры, у Sventon есть RSS-каналы, на которые вы можете подписаться. Изменения в репозитории будут сообщаться через RSS-каналы.

Большое преимущество с Sventon over Hudson, CruiseControl и даже WebSVN заключается в том, что Sventon не должен сидеть на сервере Subversion, потому что ему не нужен доступ к svnlook. Если у вас недостаточно доступа, поставьте в репозиторий Subversion двухстрочный предварительный фиксатор, у вас, вероятно, не будет возможности размещать такие вещи, как Hudson на вашем сервере.

Hudson и CruiseControl также могут просматривать ваш репозиторий через команду «svn co» и сообщать вам по почте или RSS, если он «выполняет сборку», потому что обнаруживает изменение в репозитории. Это означает, что эти два инструмента не должны сидеть на сервере Subversion, но в итоге они проведут проверку всего вашего репозитория (все ветки, теги и т. Д.), Чтобы это сделать. Не то, что вы, вероятно, захотите сделать.

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