svn:如何将分支的工作副本与主干的特定版本进行比较

svn:如何将分支的工作副本与主干的特定版本进行比较,svn,Svn,这是一种非常常见的情况,我在svn文档或GoogleFu中找不到解决方案 假设我从主干的“已知良好”版本复制一个分支,并将其签出: >svn copy -m 'my branch' -r 100 svn+ssh://svn/trunk svn+ssh://svn/my_branch >svn co svn+ssh://svn/my_branch >cd my_branch 现在,我对my_branch目录下的文件进行了许多编辑,并定期与主干的“已知良好”版本合并,如下所示:

这是一种非常常见的情况,我在svn文档或GoogleFu中找不到解决方案

假设我从主干的“已知良好”版本复制一个分支,并将其签出:

>svn copy -m 'my branch' -r 100 svn+ssh://svn/trunk svn+ssh://svn/my_branch
>svn co svn+ssh://svn/my_branch
>cd my_branch
现在,我对
my_branch
目录下的文件进行了许多编辑,并定期与主干的“已知良好”版本合并,如下所示:

>svn merge -r 100:110 svn+ssh://svn/trunk
在任何时候,我和我的审阅者都希望看到
my_branch
目录下的所有文件与我合并的主干的上一个版本相比的所有差异(这些是我的编辑+可能由冲突合并导致的更改)。因此,与
svn第110版中的相应文件相比,工作副本中所有文件之间的所有差异+ssh://svn/trunk

如何做到这一点

编辑:乌兹索尔特建议:

svn diff ^/trunk@REV1 ^/my_branch@REV2
这是一个好的开始,但我已经做了类似的事情,这个建议有两个问题:

1.它打印我的更改,加上大量的:

Property changes on: path/to/foobar
___________________________________________________________________
Modified: svn:mergeinfo
    Merged trunk:r90-110
我不要那些


2.我不想提交我的更改,然后将该修订与主干的修订进行比较。我想将工作副本与主干的修订版进行比较

也许我误解了你,但也许以下几点可以帮助你:

svn diff ^/trunk ^/my_branch
如果需要,可以附加修订号:

svn diff ^/trunk@REV1 ^/my_branch@REV2

Kevin是我工作的当地大师,他给出了以下答案:

svn diff --old ^/trunk@110 --new .

您仍然必须删除:stuff上的所有
属性更改

我询问了工作副本和主干的特定版本之间的差异。你所说的分支是什么意思?我的路径中没有这些。@MarkGaleck抱歉,
分支
已删除(这只是一种习惯)。检查我的编辑。谢谢,我会在底部发布一个编辑来回应你的回答,它现在正在打印一些东西,但不是我想要的。不。。。然后看一下最新的承诺版本。对不起,你说得对。正如@MarkGaleck所写,您应该改为
my_branch
svn diff^/trunk/
(将
^/my_branch
替换为
)。我是唯一一个认为
--忽略属性
是抑制属性的选项的人吗@大概是雪人吧。不幸的是,我的svn版本1.6还没有上市,所以我不知道。啊,我明白了。:-)有机会升级到更新的版本吗?