在主干中查找创建分支的修订版

时间:2011-06-06 21:34:19

标签: svn branch revision

我正在尝试将来自trunk的最新更改合并到我的项目的一个分支中,但问题是我不知道我检查了哪个版本的中继我最终创建了分支。我想SVN会在某处记录下来。有谁知道如何找到修订号?

(换句话说,Subversion等价于git merge-base master branch-name

6 个答案:

答案 0 :(得分:74)

从命令行,--stop-on-copy标志可用于帮助显示您从哪里复制分支:

svn log --stop-on-copy --limit 1 -r0:HEAD ^/branches/feature

最后一行会说出这样的话:

Changed paths:
   A /branches/feature (from /trunk:1234)

答案 1 :(得分:14)

也许有点迟了但是。

如果您目前在分行,则可以运行:

svn log -r 1:HEAD --limit 1 --stop-on-copy

它显示分支的第一个修订版,即您创建它时。

答案 2 :(得分:13)

您使用的是TortoiseSvn还是命令行?

命令行:svn log --stop-on-copy然后查看最小的转数。

Tortoise SVN:right-click, tortoise-svn, show log, make sure 'stop on copy' is *checked* and press refresh. Scroll to the bottom and find the smallest rev number. enter image description here

答案 3 :(得分:2)

如果您使用svn copy创建tag/branch,则svn log可以告诉您分支中的内容被复制的位置。例如,假设我们有svn://svn/trunk/foo,我们创建了一个分支svn://svn/branches/super_foo。运行svn log -v svn://svn/branches/super_foo,它会告诉您类似这样的内容 - /branches/super_foo from /trunk/foo:22890,这意味着您已将trunk的修订版22890复制到您的分支中。

答案 4 :(得分:0)

对于Cornerstone应用程序,要查看标记或分支的来源,请查看时间轴。

答案 5 :(得分:0)

要使用当前的TortoiseSVN命令行工具查看更改的路径并查询回购而无需本地结帐,请从任何目录运行此

svn log --stop-on-copy --limit 1 --verbose -r0:HEAD "http://server:9876/svn/reponame/branches/branch name"

通知--verbose实际显示更改的路径和明确的回购/分支URL,以避免不得不检出