在开发过程中,我们提交到主干,到时候我们创建分支以单独测试并进一步变成标签。
我的问题是:有没有一种简单的方法来找出我们几天前进入主干的某些提交是否在我们的分支中?
这个问题的不同风格:我怎样才能知道分支是什么时候创建的?
(换句话说,如果在创建分支后完成,我的分支可能会错过一些提交。我想确保提交在分支内。检查这一点的一种方法可能是对所有修订进行 --dry-run 合并)
svn log -q --stop-on-copy /URL/OF/BRANCH
列表中的最后一个修订是分支的第一个修订
有没有一种简单的方法来找出我们几天前在主干中制作的某些提交是否在我们的分支中?
这可能要求两件不同的事情:
svn log -v
将向您显示此信息。svn log --xml
在主干和分支上都做一个。将修订存储在分支的哈希中,然后在解析主干的输出时,可以查看分支上是否存在重复修订。svn:mergeinfo
分支上的属性,它将显示哪些卡车修订已合并到分支中。Asvn plist -v -R svn:mergeinfo
将查找svn:mergeinfo
整个目录树中任何文件或目录的所有属性,并向您显示合并了哪些修订。这个问题的不同风格:我怎样才能知道分支是什么时候创建的?
要了解创建分支的时间:
svn log -v --stop-on-copy -r1:HEAD /usr/of/branch | head
这将显示分支上从最低到最高的所有修订,因此它将向您显示该分支上的第一个修订。head
限制输出。你不应该需要超过 10 行。该-v
标志将显示复制的修订版本和来源。
输出将如下所示:
r160214 | dweintraub | 2013-04-23 13:41:43 -0400 (Tue, 23 Apr 2013) | 1 line
Changed paths:
A /branches/4.8 (from /trunk:160213)
Creating a release branch for 4.8 release
-----------------------------------------------------------------
4.8 分支是我在 2013 年 4 月 23 日根据主干的修订版 160213 创建的。