2010-01-26 2 views
1

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

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

ответ

1

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

Как сделать подтяните журнал:

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

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

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

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

+0

ОК, я уже знал, что, но это через графический интерфейс, Есть ли что-то командная строка потребностей? –

+1

«svn log» покажет вам журнал в текстовом формате. Вы можете отправить этот файл в файл и выполнить поиск (Блокнот, Ctrl-F). Если у вас есть копия grep, вы можете отфильтровать вывод svn для определенной строки, а затем использовать опцию -B, чтобы показать вам заголовок для этой ревизии. Что-то вроде этого: svn log URL_TO_REPO | grep -B 3 STRING_YOU_WANT (grep --help много говорит.) –

0

Вы могли бы использовать:

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

Опция -B <NUM> из команды печати Grep <NUM> линии ведущего контекста, прежде чем совпадающие строки. Итак, вы можете увидеть заголовок записи журнала с номером ревизии.

Этот пример находит пересмотров с текстом шаблона «#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 
$: 

 Смежные вопросы

  • Нет связанных вопросов^_^