所以,我正在使用带有Git Extensions 2的git(在Windows上),用于大型VB6代码库。对于不熟悉VB6的人来说,它是大小写不敏感的,并且在保存文件时更改变量名称的大小写。可以采取措施来最小化这种行为(参见Stop Visual Basic 6 from changing my casing),但无法完全通过这种方式消除问题。问题当然是大小写更改会显示为Git中的更改,从而干扰提交历史记录,以至于实际更改几乎不可能找到。
我正在寻找一种处理源代码控制方面的方法,并将感谢任何意见。我目前正在追求的途径按优先顺序如下:
1. 使Git diff对大小写不敏感-似乎找不到方法。它也不会捕捉字符串的更改,但这是我愿意为简单的解决方案支付的代价。
2. 在提交之前重置仅具有基于大小写的更改的巨块。
3. 切换到Visual Source Safe,它具有大小写不敏感diff选项-不...
我觉得选项2可能是最好的选择,但我不确定处理它的最佳方式。我的思路是:
此外,如果我走这条路线,最好有一个Git钩子来防止任何仅大小写更改。我完全不知道如何实现这样的脚本,所以任何帮助创建这样的脚本都将是很棒的。
为了给出问题的规模,当变量的大小写更改时,它将更改打开文件中具有相同名称的每个变量的每个实例。每次提交,这将发生在几个变量上,并且似乎每个修改的文件的约30%已更改。这使得手动过程(这是我目前正在做的)相当不切实际,并且只适用于非常小的提交。
非常感谢任何帮助!
我正在寻找一种处理源代码控制方面的方法,并将感谢任何意见。我目前正在追求的途径按优先顺序如下:
1. 使Git diff对大小写不敏感-似乎找不到方法。它也不会捕捉字符串的更改,但这是我愿意为简单的解决方案支付的代价。
2. 在提交之前重置仅具有基于大小写的更改的巨块。
3. 切换到Visual Source Safe,它具有大小写不敏感diff选项-不...
我觉得选项2可能是最好的选择,但我不确定处理它的最佳方式。我的思路是:
- 创建一些工具来自动化Git命令行
- 使用交互式提示迭代所有更改,分解到最小的块
- 对于每个块,如果唯一的更改是大小写,就将其重置
此外,如果我走这条路线,最好有一个Git钩子来防止任何仅大小写更改。我完全不知道如何实现这样的脚本,所以任何帮助创建这样的脚本都将是很棒的。
为了给出问题的规模,当变量的大小写更改时,它将更改打开文件中具有相同名称的每个变量的每个实例。每次提交,这将发生在几个变量上,并且似乎每个修改的文件的约30%已更改。这使得手动过程(这是我目前正在做的)相当不切实际,并且只适用于非常小的提交。
非常感谢任何帮助!