所以,我已经遇到过几次这个问题了.在一轮更改中,我删除functionA()并添加functionB()到同一个地方.当我运行时diff,我最终会遇到一系列可怕的混乱变化,它会尝试将两个函数匹配在它们的常用括号上,而不是将所有这些functionA作为删除而全部functionB作为补充.有关简化示例:
int functionA(int a, bool b)
{
int c;
bool d;
if (a == b)
{
//do stuff
}
//do more stuff
}
Run Code Online (Sandbox Code Playgroud)
换成了
void functionB()
{
// do different stuff
for (int x=0; x<10; x++)
{
//do more different stuff
}
//do even more different stuff
}
Run Code Online (Sandbox Code Playgroud)
差异可能会产生
-int functionA(int a, bool b)
+void functionB()
{
- int c;
- bool d;
- if (a == b)
+ // …Run Code Online (Sandbox Code Playgroud)