3

Я хотел бы получить сообщение журнала для файла, переданного в SVN. В настоящее время я использую следующую команду:

 svn --non-interactive log "myfile.c" | sed -e "s/[\-]//g"'   

Выход:

r42153 | sam | 2012-03-02 14:51:53 -0800 (Fri, 02 Mar 2012) | 1 line

Update to code.  

Я хотел бы избавиться от первой строки "r42153 | sam | ...." и вывести только сообщение журнала.

Как я могу это сделать?

4 ответа4

2

Вы можете выбросить полезные строки из ваших сообщений коммита при использовании grep. SVN предоставляет команду propget из коробки:

использование

$ svn propget svn:log --revprop -r R [TARGET]

получить сообщение о коммите

или же

$ svn propget svn:log --revprop -r R [TARGET] --xml

чтобы получить его в XML.

TARGET - это путь к хранилищу, и его можно опустить, если вы находитесь в рабочей копии.

1

использовать | grep -v "what you don't want to include" чтобы пропустить строки, которые вам не нужны. Однако попытка что-либо пропустить с помощью \n просто исключает все, так что не делайте этого.

0

Пока вы регистрируете одну ревизию, вы можете использовать

svn log -rXXXX | tail -n+4 | head -n-1

избавиться от всего, кроме сообщения.

0

Вы можете использовать | sed -e ':a;N;$!ba;s/-\+\(\n[^\n]*\n\)\?//g' удалить все "---" с помощью следующих строк.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .