文件标记为"使用提交安排的历史记录"时的svn diff

Jam*_*son 17 svn merge

我在我的工作目录中合并到trunk的分支上进行了更改.Svn stat显示已更改文件的正确列表.但是,"svn stat"输出在历史记录中包含一个"+",用于在为分支添加新文件的每个文件上提交.

A + src\main\java\com .... java

当我运行"svn diff"时,添加的"+"文件不包含在补丁输出中.

这似乎破了.如果文件被标记为已添加,那么它的全部内容应该在diff输出中.我试过传递--notice-ancestry.差异输出没有变化.我能找到的最接近同一问题的是关于复制/移动文件的这些注释

有人知道如何让SVN在diff输出中包含这些文件吗?

我刚刚尝试了这个问题答案所建议的外部差异程序,但它对我不起作用.

Din*_*ngo 17

当1.7版本发布时,svn diff将有一个--show-copies-as-adds用于此目的的开关.这是一个很好的迹象表明1.6版本没有这种能力.


Avi*_*Avi 12

svn status输出中的+字符表示该文件具有"使用提交安排的历史记录".这意味着该文件实际上不是新文件,但实际上是Subversion存储库中某些其他文件的直接后代.

这意味着svn diff中应该没有输出,因为文件实际上没有改变.如果要对文件进行一些本地修改,它们将出现在svn diff输出中.