Git - 放弃仅大小写更改

Cor*_*ioN 6 git vb6 version-control

因此,我将 git(在 Windows 上使用 Git Extensions 2)与大型 VB6 代码库结合使用。对于不熟悉 VB6 的人来说,它不区分大小写,并且每次保存文件时都会更改变量名称的大小写。可以采取一些步骤来最大限度地减少这种行为(请参阅阻止 Visual Basic 6 更改大小写),但以这种方式完全消除问题是不可行的。当然,问题在于大小写更改会显示为 Git 中的更改,从而干扰提交历史记录,导致几乎不可能找到实际更改。

我正在寻找一种从源代码控制端处理此问题的方法,并且将不胜感激任何输入。我目前正在追求的途径按优先顺序排列是:

  1. 使 Git diff 不区分大小写 - 似乎找不到方法来做到这一点。它也不会接受字符串的更改,但这是我愿意为简单修复付出的代价。
  2. 在提交之前仅使用基于案例的更改来重置 hunk。
  3. 移至 Visual Source Safe,其中有一个不区分大小写差异的选项 - 否...

我有一种感觉,选项 2 可能是我最好的选择,但我不太确定处理它的最佳方法。我目前的思路是:

  • 创建一些工具来自动化 Git 命令行
  • 使用交互式提示迭代所有更改,分解为最小的块
  • 对于每个大块,如果唯一的更改只是大小写,请重置它

我很确定这是一个尽可能好的解决方案。在登台之前运行此工具将解决所有问题。有人对这种方法有什么想法吗?

另外,如果我确实走这条路,最好有一个 Git 钩子来防止任何情况下的更改。我完全不知道如何实现这样的事情,所以任何创建这样的脚本的帮助都会很棒。

为了了解问题的规模,当变量的大小写发生变化时,它将更改打开文件中具有相同名称的每个变量的每个实例。每次提交时,多个变量都会发生这种情况,并且每个修改文件的约 30% 都会发生更改。这使得手动过程(这就是我目前正在做的)非常不切实际,并且只对非常小的提交有用。

非常感谢您的帮助!

Adr*_*ian 0

面对这个问题,我编写了一个例程,它知道代码中使用的所有名词,并将它们翻转为适当的大小写 - 这将是在预提交挂钩中运行的东西。

我认为它还有一个发现例程,当它发现新的 Dim 语句时会添加到库中。

这确实意味着每个变量名称的情况都必须保持一致(除非您添加了忽略某些单词的方法)。

唉,我已经不再拥有它了……我的大部分 VB6 工具包都已经飞到了/dev/null天上。据我记得,文件开头有一些行结尾的特殊之处。