当开发人员检查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#
,我没有得到被修改的文件列表。
好心劝告。提前谢谢。
答案 0 :(得分:1)
您可以使用GNU awk轻松完成此操作:
svn log ... | gawk 'BEGIN { RS = "----*\n" }
/ticketnumber/ { print $0 }'
其中,ticketnumber是您要搜索的字符串。
这可以通过将输入记录分隔符设置为svn在日志记录之间打印的短划线,并且只匹配所需的记录来实现。
请注意,为了实现这一点,你需要gawk而不是awk。