问题描述
|
我试图将最新的更改从主干合并到项目的一个分支中,但是问题是我不知道我最终从哪个分支创建了那个主干。我认为SVN会将其记录在某个地方。有谁知道我如何找到修订号?
(换句话说,Subversion等于
git merge-base master branch-name
)
解决方法
在命令行中,--stop-on-copy标志可用于帮助您显示从何处复制了分支:
svn log --stop-on-copy --limit 1 -r0:HEAD ^/branches/feature
(其中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
,然后查看最小的转速。
乌龟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应用程序,要查看标签或分支的起源,请在时间轴中查看。
, 要使用当前的TortoiseSVN命令行工具查看更改的路径并查询回购而无需本地签出,请从任何目录运行此文件
svn log --stop-on-copy --limit 1 --verbose -r0:HEAD \"http://server:9876/svn/reponame/branches/branch name\"
注意ѭ15实际显示更改的路径和显式的回购/分支URL,以避免不得不检出