3

我正在寻找一种方法来轻松列出 subversion 中两个 URL 之间的更改,列出已更改的文件、何时、谁和为什么。

使用 Totoise 要么给你太多细节,显示实际的源代码更改,要么太少,即它列出了没有原因、时间和原因而更改的文件(“消息”)。

我试图总结两个标签/发布之间的变化

4

1 回答 1

2

你介意使用命令行客户端吗?您可能必须安装它。

C> REM Doing below, so it'll fit in the comment box
C> set PROJ_URL=http://svn/repo/proj1

C> svn diff --summarize %PROJ_URL%/tags/REL-1.0 %PROJ_URL%/tags/REL-2.0

这将向您展示两个 URL 之间的区别,而无需深入的程序细节。


如果您正在谈论在两个修订之间记录日志(查看谁更改了什么等),您可以使用svn log -v --stop-on-copy来查找该标签的修订和来源:

C> svn set PROJ_URL=http://svn/repo/proj1
C> svn log -v --stop-on-copy %PROJ_URL%/tags/REL-1.0
r72342 | weintraubh | 2010-12-01 13:02:00 -0500 (Wed, 01 Dec 2010) | 2 lines
Changed paths:
    A /tags/REL-2.0 (from /trunk:72399)

Release 2.0
    r74384 | weintraubh | 2010-12-01 13:02:00 -0500 (Wed, 01 Dec 2010) | 2 lines
Changed paths:
    A /tags/REL-2.0 (from /trunk:74383)

Release 2.0

啊! 我们现在看到两个标签都来自主干,REL-1.0 是修订版 72399,REL-2.0 是修订版 74383

C> svn log -r72399:74383 -v
[listing of all changes...]

我实际上编写了一个 PHP 脚本来执行此操作,因此我可以自动生成一个列出差异的网页。我会收集已更改的程序和 Jira 缺陷。

不幸的是,我被那家公司解雇了,几周后它就破产了。(对公司的道德:让我下岗,风险自负。)我无法为您提供实际的 PHP 代码。然而,我只花了几天的时间来写,我什至不知道 PHP。

于 2011-01-05T00:20:01.597 回答