可以强制svn diff显示svn cp';d文件?

可以强制svn diff显示svn cp';d文件?,svn,diff,Svn,Diff,下面是一个命令序列,显示添加与复制文件的不同svn差异行为: $ ls -A foo .svn $ svn cp foo foo.svn-cp A foo.svn-cp $ svn diff foo.svn-cp <nothing> $ cp foo foo.cp-add $ svn add foo.cp-add A foo.cp-add $ svn diff foo.cp-add <contents> $ls-A foo.svn $s

下面是一个命令序列,显示添加与复制文件的不同svn差异行为:

$ ls -A
foo  .svn
$ svn cp foo foo.svn-cp
A         foo.svn-cp
$ svn diff foo.svn-cp
<nothing>
$ cp foo foo.cp-add
$ svn add foo.cp-add
A         foo.cp-add
$ svn diff foo.cp-add
<contents>
$ls-A
foo.svn
$svn cp foo foo.svn-cp
A foo.svn-cp
$svn diff foo.svn-cp
$cp foo foo.cp-add
$svn添加foo.cp-add
一个foo.cp-add
$svn diff foo.cp-add
避免不相关答案的一些注意事项:

  • 我理解这两个svn操作之间的区别
  • 我知道如果我要编辑复制的foo.svn-cp预提交 该编辑的差异将显示(与 (原稿)
  • 我同意svn的不同行为
我只是想知道是否可以覆盖一些默认值,强制svn diff以与输出foo.cp add相同的方式输出foo.svn-cp。


除非你想破解源代码;如果你这样做了,你就比我强。

你到底需要看什么?或者为什么,也许还有另一种方式,这两个命令可以正常工作,就像你说的。老实说,我不确定我是否明白这个问题的目的。您的“按他们应该做的工作”仍然是一个任意选择——对于基线,svn diff选择复制文件的原点,而不是选择没有文件的位置(在其新位置)。如果你认为复制文件到分支和标签不应该有任何区别,如果文件中没有显示的差异。想一想当你把这些文件合并回来时会发生什么,否则就会不一致。但这并不能说明你想要实现什么,如果你需要帮助,请提供更多的背景资料……我非常感谢你的兴趣,但这是我希望避免的讨论。我想我的问题很清楚:“我只是想知道我是否可以覆盖一些默认值,强制svn diff以与输出foo.cp add相同的方式输出foo.svn-cp”。也就是说,在diff中,显示添加的文件的所有行。类似于--无差异删除。如果行为是硬编码的,那没关系——我会根据自己的需要来解决它。好吧,你是从我的“他们应该做的工作”开始讨论的,尽管你在帖子中表示你同意这种行为——现在你似乎不再同意了。对不起,这很混乱。无论如何这个问题的答案显然是否定的,因为我之前给出了原因(但你肯定已经从现有选项中看到了),因此我问你有什么想法,看看是否有其他方法。。。好吧,恐怕你得找个工作了。