Subversion 列表在 URL 之间发生变化

发布于 2024-10-10 12:24:38 字数 165 浏览 3 评论 0原文

我正在寻找一种轻松列出 subversion 中两个 URL 之间的更改的方法,列出已更改的文件、时间、人员和原因。

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

我试图总结两个标签/版本之间的变化

I am looking for a way of easily listing changes between two URLs in subversion, listing the files that have changed , when , who and why.

Using Totoise either gives you too much detail, showing the actual source code changes or too little i.e. it lists the files that have changed without the reason , when and why ("message").

I am trying to summarise the changes between two tags /releases

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

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

发布评论

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

评论(1

带上头具痛哭 2024-10-17 12:24:38

您介意使用命令行客户端吗?您可能需要安装它。

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

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

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

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

不幸的是,我被那家公司解雇了,几周后该公司就倒闭了。 (对公司的道德:解雇我,后果自负。)我无法为您提供实际的 PHP 代码。然而,我写起来也不过两天,而且我连PHP都不懂。

Do you mind using the command line client? You might have to install it.

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

That'll show you the difference between the two URLs without the deep program details.


If you're talking about taking a log between the two revisions (seeing who changed what, etc), you can use svn log -v --stop-on-copy to find the revision and source of that tag:

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

Ah! We now see that both tags come from trunk and REL-1.0 is revision 72399 and REL-2.0 is revision 74383

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

I actually wrote a PHP script to do this, so I could automatically produce a webpage listing the differences. I would gather the programs that were changed, and the Jira defects.

Unfortunately, I was laid off from that company, and then it went belly up a few weeks later. (Moral to companies: Lay me off at your own risk.) I can't get you the actual PHP code. However, it didn't take me more than a couple of days to write, and I don't even know PHP.

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