如果我添加一個函數來我的代碼,我的差異是這樣的:我該如何獲得差異來停止mangling功能docblocks?
}
/**
+ * My new function docblock.
+ */
+function my_function($foo) { }
+
+/**
* The next function's docblock.
*
有沒有辦法從這個壓延停止差異?
我試過git的--patience標誌,但產生相同的結果。
如果我添加一個函數來我的代碼,我的差異是這樣的:我該如何獲得差異來停止mangling功能docblocks?
}
/**
+ * My new function docblock.
+ */
+function my_function($foo) { }
+
+/**
* The next function's docblock.
*
有沒有辦法從這個壓延停止差異?
我試過git的--patience標誌,但產生相同的結果。
如果您期望得到一個更好的差異,它可以「理解」比較塊中的存在,並使差異以不分割這些塊的方式對齊,那麼您目前處於關閉狀態。
「diff」的內部算法會自動將塊對齊到最大編號的行,差異仍然爲「true」。例如,而不是
}
+/**
+ * My new function docblock.
+ */
+function my_function($foo) { }
+
/**
* The next function's docblock.
*
差異將始終返回您在問題中描述的結果。許多基於GNU diff的工具都會遇到這個問題。
你想要的是一種比較程序結構而不是「文本行」的工具。
請參閱我們的SmartDifferencer工具,它們使用編程語言的結構作爲指導,比較程序的源文本。有許多語言的SmartDifferencer(C++,C#,Java,COBOL,...)
對於OP的例子,它應該簡單地說明函數(和它的docblock)已被添加。