Как динамически отображать ревизию SVN на веб-сайте? - PullRequest
6 голосов
/ 14 марта 2009

Мой веб-сайт является проверенной версией репозитория SVN. Я имею в виду папки .svn размещены на веб-сервере. Я не пользуюсь веб-публикацией.

И я хочу отобразить текущую версию проекта (весь веб-сайт) в нижнем колонтитуле. Как я могу это сделать?

Если бы я использовал веб-публикацию, я мог бы определить ревизию при сборке / публикации и написать ее как статический html.

Так как получить ревизию динамически? Чтение файлов .svn напрямую? Есть ли лучшие способы?

Я видел другие подобные вопросы, но для ответа использовался SubWCRev.exe, к сожалению, это неприемлемо.

Редактировать: Тарн дал интересную идею о хуках SVN при коммите. Есть другие идеи?

Ответы [ 5 ]

8 голосов
/ 14 марта 2009

использовать подстановка ключевых слов . включите подстановку для файлов, для которых вы хотите отобразить информацию о редакции, и вставьте туда ключевое слово, например $Revision: 144 $.

обратите внимание, что

$ Rev $ расширяется, чтобы показать последние ревизия, в которой файл изменился, не последняя редакция, к которой это было обновлен

(см. Ссылку выше). если вы хотите показать номер редакции глобального репозитория, лучше использовать svnversion .

также см. Связанные .

2 голосов
/ 14 марта 2009

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

1 голос
/ 14 марта 2009

Этот предыдущий вопрос о SO имеет некоторые обсуждения, которые могут быть вам полезны: Всегда фиксируйте один и тот же файл с SVN .

Я всегда делал это, выполняя скрипт, который использовал бы sed, чтобы заменить комментарий текущей меткой времени в моем файле $ Rev $. Таким образом содержимое файла изменится, и Subversion передаст его. Несколько ручное, но вы могли бы написать сценарий, чтобы сделать это, а затем выполнить команду svn commit.

1 голос
/ 14 марта 2009

Если вы хотите отобразить номер последней редакции всего вашего / репозитория или ветви, подстановка ключевых слов не поможет, я думаю, что лучшим решением было бы использование программного обеспечения управления сборкой / непрерывной интеграции, такого как CruiseControl.NET или TeamCity с хорошим сценарием сборки.

Дубликат:

0 голосов
/ 14 марта 2009

Единственное, о чем я могу думать, это использовать двоичные файлы svn CLI и вызывать их со страницы. Таким образом, вы можете удалить все остальное и взять номер ревизии. Честно говоря, это несколько уродливое решение.

...