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

发布于 2024-11-26 10:03:02 字数 129 浏览 2 评论 0原文

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

我只需要我提交的文件。
如何使用 svn 导出或比较特定用户提交的文件?

I need to check differences of the files which I committed before.
But if I try to diff or export files by using revision range option,
the files which others committed also shown in the result.

I need the only files which I committed.
How to export or diff files which are committed by a specific user with svn?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

要走干脆点 2024-12-03 10:03:02

将以下 python 文件另存为 userchanges.py 在当前目录中并使其可执行:

#!/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。

Save below python file as userchanges.py in current directory and make it executable:

#!/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

Then run:

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

where youruser is svn user name of the user you want to inspect.

It will run svn diff for each file and revision by selected user.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文