Как отобразить последнюю версию в файле? - PullRequest
5 голосов
/ 20 сентября 2008

Мне интересно, как вы справляетесь с отображением номера редакции релиза при запуске новых версий вашего приложения в прямом эфире?

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

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

Есть ли способ?

Ответы [ 6 ]

8 голосов
/ 20 сентября 2008

Лучший способ сделать это - создать скрипт сборки для выпусков, который определит номер редакции с помощью svnversion или svn info и вставит его в файл. Всегда полезно иметь скрипт, который:

  1. извлекает чистую копию источника в пустой каталог
  2. использует svnversion или что-то похожее для вычисления номера сборки
  3. компилирует источник в продукт
  4. создает архив (zip, tarball или любой другой) продукта
  5. очищает: удаляет все, кроме архива

Затем у вас есть одношаговый процесс создания релиза с легко идентифицируемой версией. Это также поможет вам избежать предоставления кому-либо сборки из вашей собственной рабочей копии, в которой могут быть изменения, которые никогда не были включены в систему контроля версий.

3 голосов
/ 20 сентября 2008

В TortoiseSVN есть простой инструмент с именем SubWCRev.exe . Он берет ревизию из path и создает файл из вашего собственного шаблона. Вы можете использовать его как команду предварительной сборки.

2 голосов
/ 20 сентября 2008

Автоматически обновлять файл как часть сборки / развертывания релиза.

2 голосов
/ 20 сентября 2008

Вы пытались использовать крючки? Они работают только на стороне сервера, но могут добиться цели. В противном случае я бы просто вызвал скрипт, обновив ревизию, если ключевые слова вам не подходят.

1 голос
/ 20 сентября 2008

Как сказал alexander , один из способов - обновить ревизию как часть процесса сборки.

Один из способов сделать это состоит в том, чтобы извлечь ваши релизы из автоматизированного процесса сборки, запускаемого из вашей проверки управления версиями, с помощью такого инструмента, как buildbot .

Сценарий может состоять в том, чтобы запустить автоматическую сборку, используя скрипт post-hook в вашем хранилище subversion. Это приводит к тому, что ваш buildbot обновляется до последней проверенной версии. Ваш скрипт сборки (например, Makefile) будет использовать 'svnversion' (или 'svn info' и grep), чтобы прочитать ревизию репозитория и записать ее в файл заголовка до начала сборки.

После успешной сборки автоматически верните этот файл обратно в хранилище с подходящим комментарием о версии выпуска.

1 голос
/ 20 сентября 2008

В одном проекте, где у меня была причина сделать это, я обманул: он вызывает svnversion при запуске.

...