Как настроить сетевой «справочный каталог/папку» с помощью Subversion?

Мы переходим к использованию Subversion (платформа Windows, TortoiseSVN в качестве клиента) в качестве нашей системы контроля версий. С помощью инструментов, которые мы использовали ранее, стало возможным настроить «справочный каталог» или папку в сети, в которой хранятся последние версии всего, что было проверено, чтобы люди могли легко просматривать последние версии, не используя специальный инструмент. Можно ли настроить Subversion для этого?

В идеале он будет обновлять этот справочный каталог при каждой регистрации. В противном случае будет достаточно ежедневного обновления.


svn
person saw-lau    schedule 14.04.2009    source источник


Ответы (4)


Есть довольно много способов сделать это:

  • Если вы используете метод доступа к репозиторию Apache, вы получаете его бесплатно, используя Просмотр репозитория. Это самый простой способ.
  • Другой вариант — использовать браузер репозитория в TortoiseSVN.
  • Если вам действительно нужен общий сетевой ресурс, вы можете создать перехватчик post-commit, который вызывает svn update для рабочей копии. Однако это более рискованно, поскольку существует вероятность того, что рабочая копия может быть признана недействительной по какой-либо причине (конфликт слияния и т. д.). Новая проверка для каждого коммита решила бы эту проблему, но это неэффективно.

ИМХО первые два варианта намного лучше последнего, но выбор хороший :)

person si618    schedule 14.04.2009

Если вам просто нужно просмотреть последнюю версию каждого отдельного файла, тогда интеграция веб-сервера по умолчанию с Apache SVN поможет.

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

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

person morechilli    schedule 14.04.2009

В Subversion это не встроено, как и в TortoiseSVN. Вы можете добавить на сервер сценарий после фиксации, но в вашем случае я бы предпочел использовать что-то вроде непрерывной интеграции. Ознакомьтесь с круиз-контролем.

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

person Dave Van den Eynde    schedule 14.04.2009
comment
На самом деле SVN через apache имеет встроенный браузер репозитория, например svn.collab.net/repos /svn TortoiseSVN также имеет собственный браузер репозиториев, который делает то же самое — легкий доступ к ссылке на последнюю фиксацию. На самом деле это лучше, потому что вы также получаете историю изменений - person si618; 14.04.2009
comment
Верно, но это не то, чего он хотел. Ему нужен справочный каталог, чтобы люди могли просматривать исходный код без специальных инструментов. Я подозреваю, что он хочет сделать больше, чем просто просмотреть исходный код, а инструменты сборки не компилируются прямо из репозитория. - person Dave Van den Eynde; 15.04.2009
comment
На самом деле мне нужно «удобное для менеджера решение». :-) Т.е. люди, не разбирающиеся в технике, могут просто посмотреть сетевую папку с помощью проводника Windows. - person saw-lau; 16.04.2009
comment
В этом случае я думаю, что встроенный веб-сайт сервера apache-svn и VisualSVN идеален. - person Dave Van den Eynde; 16.04.2009

Самым простым ответом было бы проверить рабочую копию всего репозитория и запланировать «обновление svn» через регулярные промежутки времени.

Однако это не идеальное решение — в subversion ветки должны быть дешевыми, а это решение делает их очень дорогими, хотя вы можете отключить это в любое время — или просто проверить ствол или какую-то соответствующую конкретную папку.

Но на самом деле TortoiseSVN — это жемчужина, когда нужно показать вам, что происходит.

Кроме того, существует множество веб-просмотрщиков svn, которые имеют полную интеграцию, помимо того, что дает вам простой сервис apache.

person Jim T    schedule 14.04.2009