Если то, что вы ожидаете, будет лучше различий, который "поймет" присутствие в сравнении блока комментариев и выровнит разность таким образом, чтобы не разбивать эти блоки, вы в настоящий момент отключены.
Внутренний алгоритм «diff» автоматически выравнивает блок по строке с наибольшим числом, для которого разница все еще «истинна».Например, вместо
}
+/**
+ * My new function docblock.
+ */
+function my_function($foo) { }
+
/**
* The next function's docblock.
*
Diff всегда будет возвращать результат, который вы описали в своем вопросе.Многие инструменты, основанные на GNU diff, страдают от этой проблемы.