SVN Log ::如何通过grepping comment中存在的特定模式来提取svn日志

时间:2013-04-19 11:05:48

标签: svn unix

当开发人员检查svn中的代码时,他/她会在注释字段中输入要为其提供修订的票证#。现在我想仅提取此票证的svn日志#。任何人都可以请教我如何修改svn log命令,以便我可以获得使用该票证签入的所有文件的列表#

PFB虚拟示例:

svn log <svn url>
o/p::

r1000 | author | 2013-04-19 11:48:16

    A abc.txt``
    M def.txtD ``
      pqr.txt``

    ticket#::filescheckedin

现在如果我grep ticket#,我没有得到被修改的文件列表。 好心劝告。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用GNU awk轻松完成此操作:

svn log ... | gawk 'BEGIN { RS = "----*\n" }
/ticketnumber/ { print $0 }'

其中,ticketnumber是您要搜索的字符串。

这可以通过将输入记录分隔符设置为svn在日志记录之间打印的短划线,并且只匹配所需的记录来实现。

请注意,为了实现这一点,你需要gawk而不是awk。