格式化SVN日志输出


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 | ....”并输出日志消息。

我怎样才能做到这一点?

Answers:


1

使用| grep -v "what you don't want to include"离开了你不想要的线条。然而,试图遗漏任何东西\n只是遗漏了一切,所以不要这样做。


谢谢@Dez。我忘记了grep。我最终使用了grep -v“| [0-9] \ + line [s] \?$”
吸烟来自

2

使用grep时,您可以从提交消息中丢弃有用的行。SVN提供开箱即用的propget命令:

使用

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

获取提交消息

要么

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

用XML获取它。

TARGET是存储库的路径,可以省略id在工作副本中。


这应该是公认的答案:)
Sebi 2015年

0

您可以使用| sed -e ':a;N;$!ba;s/-\+\(\n[^\n]*\n\)\?//g'treir下一行删除所有“---”。


0

只要您记录单个修订版,就可以使用

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

摆脱除了消息之外的一切。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.