我正在尝试将来自trunk的最新更改合并到我的项目的一个分支中,但问题是我不知道我检查了哪个版本的中继我最终创建了分支。我想SVN会在某处记录下来。有谁知道如何找到修订号?
(换句话说,Subversion等价于git merge-base master branch-name
)
答案 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.
答案 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,以避免不得不检出