我正在尝试将最新的更改从trunk合并到我的项目的一个分支,但问题是我不知道我检查的主干的哪个版本我最终创建了分支。我想SVN会在某处记录下来。有谁知道如何找到修订号?
(换句话说,Subversion相当于git merge-base master branch-name
)
从命令行,--stop-on-copy标志可用于帮助显示您从哪里复制分支:
svn log --stop-on-copy --limit 1 -r0:HEAD ^/branches/feature
最后一行会说这样的话:
Changed paths:
A /branches/feature (from /trunk:1234)
也许有点晚了但是。
如果您目前在分支机构中,则可以运行:
svn log -r 1:HEAD --limit 1 --stop-on-copy
它显示分支的第一个修订版,即您创建它时。
你在使用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.
如果你使用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版复制到你的分支中。
对于Cornerstone应用程序,要查看标记或分支的来源,请查看时间轴。