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

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

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

我想也许是一个解析输出的Python或shell脚本

svn log | grep username

提取修订,然后将输出传递给:

 svn log -r [revision numbers go here]

也许一些脚本专家可以帮助我..

最佳答案 我想以下将是一个很好的起点.

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对用户进行过滤.

点赞