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