svn - Получить номер версии, предоставляя часть связанного сообщения

Мне интересно, есть ли простой способ создать сценарий, который выводит номер версии из svn, если мы предоставим часть связанного с ним сообщения.

пример: я знаю, что сообщение содержит «добавленный метод A», это сообщение было написано после того, как я зафиксировал изменения. Теперь, если я не помню номер версии, связанный с ним, и я хочу программно (скрипт/пакет) получить связанный номер версии без ручной подготовки через журнал)


person Yohann T.    schedule 26.01.2010    source источник


Ответы (2)


TortoiseSVN имеет окно поиска. Откройте журнал интересующего вас каталога репозитория. Если вы не уверены, какой это каталог, откройте журнал для корня репозитория.

Как сделать подтянуть лог:

  • Откройте браузер репозитория TortoiseSVN (щелкните правой кнопкой мыши TortoiseSVN->Repo-Browser) и введите URL своего репозитория.

  • Щелкните правой кнопкой мыши корень репозитория и нажмите «Показать журнал».

Из соображений производительности TortoiseSVN сначала покажет журнал только для последних 100 ревизий. Если вы считаете, что изменение старше этого, вы можете нажать кнопку «Показать диапазон» и указать, чтобы он отображал журнал для определенного диапазона ревизий. Вы можете просто сказать от ревизии 0 до HEAD (последняя), что приведет к получению всех ревизий в репо.

В верхней части окна журнала находится строка поиска. Введите текст, который вы ищете, и вы должны его найти.

person Community    schedule 26.01.2010
comment
Хорошо, я уже знал это, но это через графический интерфейс. Есть ли что-то, управляемое из командной строки? - person Yohann T.; 26.01.2010
comment
svn log покажет вам журнал в текстовом формате. Вы можете сбросить это в файл и выполнить поиск (Блокнот, Ctrl-F). Если у вас есть копия grep, вы можете отфильтровать вывод svn для определенной строки, а затем использовать параметр -B, чтобы показать заголовок для этой версии. Примерно так: svn log URL_TO_REPO | grep -B 3 STRING_YOU_WANT (grep --help говорит вам о многом.) - person myron-semack; 26.01.2010

Вы можете использовать:

svn log | grep -B 3 "added method A"

Опция -B ‹ЧИСЛО› команды grep выводит ‹ЧИСЛО› строк начального контекста перед соответствующими строками. Таким образом, вы можете увидеть заголовок записи журнала с номером ревизии.

В этом примере выполняется поиск ревизий с текстовым шаблоном "#internal":

$: svn log $svnurl | grep -B 3 #internal
------------------------------------------------------------------------
r1459 | user001 | 2015-07-22 15:52:54 +0200 (Wed, 22 Jul 2015) | 1 line

#internal
------------------------------------------------------------------------
r1457 | user001 | 2015-07-21 13:47:19 +0200 (Tue, 21 Jul 2015) | 1 line

#internal
$:
person marta_cool    schedule 23.07.2015