2010-04-22 65 views

回答

6

我不认为SVN内置了该功能的支持,但你可以写一个脚本来运行

svn log --xml 

在任何回购的你想测试的目录,然后对其进行解析并只挑选给定用户完成的条目。

+0

我在哪里可以在服务器上的回购目录中执行此操作?例如。包含conf,dav,db,格式,挂钩,锁的目录。如果是这样,它说svn:'。'不是工作副本 – 2010-04-23 13:59:18

+0

不,您需要在客户端上完成。 svn co http://url.com/svn/thing; CD事物; svn log --xml – Allyn 2010-04-23 18:43:00

+0

然后,如果有其他用户将其签出,则不会显示它?基本上我想知道谁在检查某个回购。 – 2010-04-23 20:17:15

2

我第二个Allyn's answer,但有一个补充:如果你在Windows上,TortoiseSVN允许你过滤输出,包括过滤用户名的能力。

9

这是一个小黑客,它使用GNU的sed来执行对svn命令的日志输出的正则表达式。更改用户名,你需要

svn log | sed -n '/| username |/,/-----$/ p' 

为了从WebDAV配置(我是在写的时候一个Ubuntu盒)尝试这样的事情让你的文件夹列表中的用户名....

grep SVNPath /etc/apache2/mods-available/dav_svn.conf | grep -v \# | sed 's/^\s*SVNPath //' 

这只是简单地为该行擦亮一次,两次删除注释行并过滤SVNPath关键字和相关的空格字符。你的结果是回购文件夹,所以如果你打算使用svn命令,请在文件前加上://