如何查询列出用户对Subversion存储库的所有提交?

时间:2010-05-05 18:39:57

标签: svn

如何查询列出用户对Subversion存储库的所有提交?

我想找到我曾经对Subversion存储库做过的所有提交,而不仅仅是当前快照中的提交。更重要的是,我想通过提交时使用的SVN注释来组织文件列表。

我在想可能是一个解析

输出的Python或shell脚本
svn log | grep username

提取修订版,然后将输出通道管道输出到:

 svn log -r [revision numbers go here]

也许一些脚本大师可以帮助我......

3 个答案:

答案 0 :(得分:2)

我想以下是一个很好的起点。

svn log -v --xml --with-all-revprops URL_OF_REPO

它将输出XML日志中的条目,如下所示(在测试存储库中生成)。

D:\temp\co-test-repo>svn log -v --xml --with-all-revprops --username AWXGX  file:///d:/svn/repos/test-repo
<?xml version="1.0"?>
<log>
    <logentry
       revision="2">
        <author>AWXGX</author>
        <date>2010-05-05T19:20:34.062500Z</date>
        <paths>
            <path
               kind="file"
               action="A">/src/main/java/org/pers/OtherClass.java</path>
        </paths>
        <msg>add another class</msg>
    </logentry>
    <logentry
       revision="1">
        <author>AWXGX</author>
        <date>2010-05-05T19:20:00.578125Z</date>
        <paths>
            <path
               kind="dir"
               action="A">/src/main/java/org</path>
            <path
               kind="file"
               action="A">/src/main/java/org/pers/SomeClass.java</path>
            <path
               kind="dir"
               action="A">/src</path>
            <path
               kind="file"
               action="A">/pom.xml</path>
            <path
               kind="dir"
               action="A">/src/main</path>
            <path
               kind="dir"
               action="A">/src/main/java</path>
            <path
               kind="dir"
               action="A">/src/main/java/org/pers</path>
        </paths>
        <msg>creation of project files</msg>
    </logentry>
</log>

然后执行XSLT转换以输出您想要的内容。我希望这会有所帮助。

编辑: 我删除了仅用于验证目的的--username,但仍然可以使用该命令(我在真实的存储库中尝试过它) )。然后使用XSLT对用户进行过滤。

答案 1 :(得分:0)

您可以使用SVN loggrep作为您的姓名。

答案 2 :(得分:0)

有一个脚本contrib/search-svnlog.pl可以做你想做的事。

这是Subversion躯干上源代码的链接,但它看起来好像没有改变:

http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/search-svnlog.pl

这是我编写的脚本svnlogfilter.pl的补丁,你可能需要梳理它来使用它。我会把它放在RSN的某个地方。

http://svn.haxx.se/dev/archive-2005-05/0094.shtml