Посмотрите на "SvnRev", который в настоящее время доступен здесь:
http://www.compuphase.com/svnrev.htm
Похоже, вы пытаетесь реализовать какую-то CHANGELOG или систему тегов релизов, где пользователи могут выбирать разные выпущенные версии. Итак, если предположить, что это то, что вы искали здесь, то, что я сделал в аналогичной ситуации. Я понимаю, что вашему вопросу год, но, может быть, кто-то еще найдет это.
Я сохранил отдельный файл для хранения истории изменений, представляющих особый интерес. У меня есть проекты, в которых я делаю «официальный» установщик для всего нашего приложения. Обычно я не буду хранить сгенерированный код в системе контроля версий, но эти двоичные файлы мы рассматриваем как особые. Нам нравится хранить именно тот двоичный файл, который мы доставляем пользователю. Мы не хотим перестраивать их позже, и хранение их в SVN является удобным злоупотреблением контролем версий ...
Итак, я создаю свой бинарный файл установщика; передайте двоичный файл установщика в SVN; получить SVN-версию установщика, которую я только что зафиксировал; добавить ревизию / дату / примечания в файл с именем CHANGELOG; и наконец я фиксирую файл CHANGELOG. Номер ревизии CHANGELOG будет один или больше, чем номер инсталлятора, но мне важны только номера ревизии установщика.
Для дополнительного удобства установщик копируется на веб-сервер и помещается в каталог с именем номера редакции установщика. Но мы всегда можем посмотреть на заметки CHANGELOG, чтобы найти нужную нам версию установщика и проверить ее по этой версии.
Мы также можем использовать этот номер редакции для проверки источника, использованного для сборки установщика (вы должны быть уверены, что никто не внес изменений между вашей проверкой / сборкой исходного кода и фиксацией установщика). Если вы действительно не против тратить место на диске, вы можете сделать тег; строить; и верните установщик обратно в тег. Конечно, у SVN нет тегов, поэтому вы должны сделать «svn copy»; но тогда реальная система тегов не позволит вам зафиксировать изменения обратно.