从非空白补丁中分离空白补丁

时间:2011-08-02 05:10:23

标签: whitespace patch

是否有人知道给定补丁文件的方式或脚本可以将空白更改与功能更改分开?

这是问题所在。我的项目有严格的空白样式要求,我的编辑器设置强制执行它们。没有标签,没有尾随空格。我的编辑器设置为自动剥离traiing空格,例如。

所以,在我编辑一些第三方代码之前,不可避免地发生的一切都很好。我忘了关掉那些非常方便的功能,然后我从开发人员那里得到了一些信息,即空白变化需要与功能变化分开。因此,6小时的编辑代码都必须重做。难怪当开发者对“规则”比对“结果”更感兴趣时,许多错误和功能都不固定。好的,足够的婊子。

理想情况下,我只运行一些脚本,从修补程序中删除所有空白更改并完成。有人知道这样的功能吗?

1 个答案:

答案 0 :(得分:2)

保留原始文件的副本,应用补丁然后再次进行差异 - 这次忽略空格更改:

$ diff -u --ignore-all-space orig-file file > patch

现在,将补丁应用到orig-file并再次启用差异,并启用空格 - 并且第二个补丁只有空格更改。

GIT中

使用git,它更容易一些:

$ git diff -w > patch