所以,我正在使用带有大型 VB6 代码库的 git(在 Windows 上使用 Git Extensions 2)。对于不熟悉 VB6 的人来说,它不区分大小写,并且习惯于在保存文件时更改变量名的大小写。可以采取一些步骤来最小化这种行为(请参阅停止 Visual Basic 6 更改我的大小写),但以这种方式完全消除问题是不可行的。问题当然是案例更改显示为 Git 中的更改,因此干扰了提交历史,以至于几乎不可能找到实际更改。
我正在寻找一种从源代码控制方面处理此问题的方法,并希望得到任何输入。我目前追求的途径按优先顺序排列是:
- 使 Git diff 不区分大小写 - 似乎找不到方法来做到这一点。它也不会接受对字符串的更改,但这是我愿意为简单修复付出的代价。
- 在提交之前仅使用基于案例的更改来重置大块。
- 移至具有不区分大小写差异选项的 Visual Source Safe - 否...
我有一种感觉,选项 2 可能是我最好的选择,但我不确定处理它的最佳方法。我目前的思路是:
- 创建一些工具来自动化 Git 命令行
- 使用交互式提示迭代所有更改,分解为最小的块
- 对于每个大块,如果唯一的更改是仅大小写,请重置它
我很确定这是一个尽可能好的解决方案。在暂存前运行此工具将解决所有问题。有人对这种方法有任何想法吗?
另外,如果我确实走这条路,最好有一个 Git 挂钩来防止任何情况下的更改。我完全不知道如何实现这样的东西,所以对创建这样一个脚本的任何帮助都会很棒。
为了了解问题的规模,当变量的情况发生变化时,它将改变打开文件中每个具有相同名称的变量的每个实例。每次提交,这都会发生在几个变量上,并且看起来好像每个修改文件的 30% 都发生了变化。这使得手动过程(这是我目前正在做的)非常不切实际,并且仅对非常小的提交有用。
非常感谢您的帮助!