我是颠覆的初学者。是否可以使用linux命令以json格式获取svn log输出。实际上,我想查看一个文件提交的历史记录。
我尝试了以下命令:
svn log file:///var/svn/repository/test.txt
输出:
------------------------------------------------------------------------
r40166 | user1 | 2013-11-22 12:20:51 +0530 (Fri, 22 Nov 2013) | 1 line
Removed whitespace
------------------------------------------------------------------------
r40107 | user1 | 2013-11-21 14:24:16 +0530 (Thu, 21 Nov 2013) | 1 line
Commited text file
------------------------------------------------------------------------
有没有办法以json格式输出?如果不是,有没有办法解析上面的输出以使用jquery显示为表?
帮助将不胜感激。
答案 0 :(得分:3)
如果您没有注意到SVN有--xml
输出选项。我建议使用它,然后使用一些代码将XML转换为JSON。你应该能够在网上找到很多建议。例如,这里是Stack Overflow question about doing it in Python。
答案 1 :(得分:0)
Ones的建议是为log命令编写svn-hooks。有关Windows的svn钩子的介绍可以在这里找到 - http://blogs.wandisco.com/2011/11/10/an-introduction-to-subversion-hook-scripts-on-windows/。此外,对于Linux(用于预提交),此处可以扩展svn log命令的概念 - http://pear.php.net/manual/en/package.php.php-codesniffer.svn-pre-commit.php。 以类似的方式,您可以编写一个shell脚本来将文本文件输出转换为jSON格式。