2013-11-22 68 views
1

我是一个初学者的颠覆者。是否有可能使用linux命令以json格式获取svn日志输出。实际上,我想查看一个文件的提交历史。Svn日志输出json格式

我尝试下面的命令:

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?

帮助将不胜感激。

回答

3

如果你还没有注意到SVN有--xml输出选项。我建议使用它,然后使用一些代码将XML转换为JSON。你应该能够找到很多的建议,如何做到这一点在线。比如这里有一个Stack Overflow question about doing it in Python

0

一个建议会写日志命令的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格式。

+0

挂钩真的不会对他有帮助。他们主要是为了让服务器端对提交的更改(例如预提交,pre-revprop更改)做出决定并在提交后触发操作(例如提交后,修改后更改)。编写一个将日志数据转换为JSON的钩子脚本不会比从客户端执行更简单。 –