Как получить доступ к текущему номеру сборки Subversion? - PullRequest
21 голосов
/ 21 сентября 2008

Как автоматически импортировать последний номер сборки / ревизии в Subversion?

Цель состоит в том, чтобы этот номер отображался в нижнем колонтитуле вашей веб-страницы, как это делает SO.

Ответы [ 16 ]

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

Если вы работаете в GNU / Linux, перейдите в каталог с рабочей копией и запустите:

svn -u status | grep Status\ against\ revision: | awk '{print $4}'

По моему опыту, svn info не дает надежных номеров после переименования каталогов.

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

Что ж, вы можете запустить 'svn info', чтобы определить номер текущей ревизии, и, вероятно, вы можете легко извлечь это с помощью регулярного выражения, например, "Revision: ([0-9] +)".

0 голосов
/ 12 апреля 2010

Я создал плагин версии SVN для проекта Увеличение версии сборки на CodePlex. Этот плагин SVN извлечет номер последней редакции изменения из вашей рабочей копии и позволит вам использовать его в номере вашей версии, что должно выполнить именно то, что вы пытаетесь сделать. Инкремент версии сборки довольно гибок и позволит вам настроить способы управления версиями несколькими способами.

BVI работает только с Visual Studio, но поскольку вы используете Asp.Net, это не будет проблемой. Это не требует написания кода или редактирования XML, так что уууу!

0 голосов
/ 10 декабря 2009

если вы используете svnant, вы можете использовать wcVersion, который дублирует svnveresion и возвращает удобоваримые значения. увидеть: http://subclipse.tigris.org/svnant/svn.html#wcVersion

0 голосов
/ 28 августа 2009

Я использую проект MSBuild Community Tasks , в котором есть инструмент для получения номера редакции SVN и добавления его в файл AssemblyInfo.vb. Затем вы можете использовать отражение, чтобы извлечь эту строку и отобразить ее в вашем пользовательском интерфейсе.

Вот полное сообщение в блоге с инструкциями .

0 голосов
/ 21 сентября 2008

Требуется субкоманда Subversion info , как указано ниже:

$ svn info .
Path: .
URL: http://trac-hacks.org/svn/tracdeveloperplugin/trunk
Repository Root: http://trac-hacks.org/svn
Repository UUID: 7322e99d-02ea-0310-aa39-e9a107903beb
Revision: 4190
Node Kind: directory
Schedule: normal
Last Changed Author: coderanger
Last Changed Rev: 3397
Last Changed Date: 2008-03-19 00:49:02 -0400 (Wed, 19 Mar 2008)

В этом случае есть два номера редакции: 4190 и 3397. 4190 - это номер последней редакции для хранилища, а 3397 - номер редакции последнего изменения в поддереве, из которого было извлечено это рабочее пространство. Вы можете указать путь к рабочей области или URL-адрес к хранилищу.

Фрагмент C # для извлечения этого под Windows будет выглядеть примерно так:

Process process = new Process();
process.StartInfo.FileName = @"svn.exe";
process.StartInfo.Arguments = String.Format(@"info {0}", path);
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();

// Parse the svn info output for something like "Last Changed Rev: 1234"
using (StreamReader output = process.StandardOutput)
{
    Regex LCR = new Regex(@"Last Changed Rev: (\d+)");

    string line;
    while ((line = output.ReadLine()) != null)
    {
        Match match = LCR.Match(line);
        if (match.Success)
        {
            revision = match.Groups[1].Value;
        }
    }
}

(В моем случае мы используем версию Subversion как часть номера версии для сборок.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...