diff 只检测大小写变化
diff to detect only case changes
是否有一种简单的方法可以在文件的两个版本之间进行区分,仅显示因更改为 upper-/lowercase 而不同的 lines/words?应省略所有其他差异。
背景:我有一个 VBA 项目在版本控制下 (git),微软的编辑器倾向于 change casing 每次声明一个新变量。我想识别(并可能计算)此类更改以防止它们被提交。
根据建议from this answer,我使用基本的 Linux 脚本工具按如下方式完成:
GIT_EXTERNAL_DIFF='diff -p -U 0 "" "" | cat #' git diff --ext-diff > cdiff
GIT_EXTERNAL_DIFF='diff -ip -U 0 "" "" | cat #' git diff --ext-diff > idiff
diff idiff cdiff | grep '^> [+-] '
代码首先生成 case-sensitive diff cdiff
,然后生成 case-insensitive diff idiff
。 case-only 更改包括 cdiff
中的行,这些行不包含在 idiff
.
中
是否有一种简单的方法可以在文件的两个版本之间进行区分,仅显示因更改为 upper-/lowercase 而不同的 lines/words?应省略所有其他差异。
背景:我有一个 VBA 项目在版本控制下 (git),微软的编辑器倾向于 change casing 每次声明一个新变量。我想识别(并可能计算)此类更改以防止它们被提交。
根据建议from this answer,我使用基本的 Linux 脚本工具按如下方式完成:
GIT_EXTERNAL_DIFF='diff -p -U 0 "" "" | cat #' git diff --ext-diff > cdiff
GIT_EXTERNAL_DIFF='diff -ip -U 0 "" "" | cat #' git diff --ext-diff > idiff
diff idiff cdiff | grep '^> [+-] '
代码首先生成 case-sensitive diff cdiff
,然后生成 case-insensitive diff idiff
。 case-only 更改包括 cdiff
中的行,这些行不包含在 idiff
.