如何查询列出用户对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对用户进行过滤.