我经常使用gnu-utils补丁和diff。使用Git,我经常这样做:是否有知道缩进的diff工具(补丁)?
git diff
往往是简单的变化产生大的补丁,因为这改变了,例如,添加的if/else循环,这里的一切都向右缩进唯一的。
查看这样的修补程序可能很麻烦,因为只有逐行手动比较才能指示在缩进代码内是否有任何实质性更改。我们可能只会谈论几行代码,或者关于几十个(或更多)的嵌套代码。 (我知道:这样一个假设的大函数可以更好地分成更小的函数,但那不在重点之内)。
当代码块中的唯一更改是缩进并让开发人员知道的时候,GNU diff/patch无法知道吗?
是否有任何其他差异工具这样操作?
编辑:好,有--ignore-space-change
但当时我们是在一个要么/或情况:要么我们有一个人更可读的补丁或者我们有一个完整的补丁,机器会知道如何阅读。我们难道不能在两全其美的情况下使用更加精细的diff工具吗?它可以让人们看到他们的空间变化,同时允许机器完全应用补丁?
+1了解更多git diff -b> my.patch也可以工作,但这很有用,但输出如果我们能够得到问题双方的最佳结果,例如有一个带有3种类型的线的补丁文件(相应地着色):没有改变的线条,已经改变的线条( - 或+)以及仅仅缩进的线条......机器都会知道如何应用该补丁,并且人类会更好地理解它。 – augustin 2010-11-10 11:55:20