2011-07-25 28 views
0

我需要检查我之前承诺的文件的差异。
但是,如果我尝试使用版本范围选项 来区分或导出文件,其他人提交的文件也显示在结果中。

我需要我承诺的唯一文件。
如何使用svn导出或区分特定用户提交的文件?

如何使用svn导出或区分特定用户提交的文件?

回答

0

保存以下为userchanges.py在当前目录下,并使其可执行Python文件:

#!/usr/bin/env python 
import sys 
from subprocess import call 
data = sys.stdin.readlines() 
data = data[1:] 
horiz_line = '-' * 72 
data_len = len(data) 
i = 0 
while i < data_len: 
    while data[i].strip() != horiz_line: 
    i += 1 
    i += 1 
    if i >= data_len: 
    break 
    rev, name, rest = data[i].split(' | ', 2) 
    if name == sys.argv[1]: 
    i += 2 
    while data[i].strip() != '': 
     line = data[i].strip().split(' ') 
     print("svn diff -r %s %s" % (rev, line[1][1:])) 
     call("svn diff -r %s %s" % (rev, line[1][1:]), shell=True) 
     i += 1 
    i += 1 

然后运行:

svn checkout path/to/your/trunk 
svn log -v trunk | ./userchanges.py youruser 

其中youruser是svn的用户的用户名要检查。

它将针对每个文件和选定用户的修订版运行svn diff

+0

感谢您的回答。 我不知道phython,但也许我可以将代码翻译成我知道的其他语言。 我希望有一个简单的命令可以在svn自己或tortoisesvn上做到这一点。 –

相关问题