Есть ли способ проверить, являются ли два diff или patches эквивалентными?
Предположим, что у вас есть следующая история событий git, где функции F и G являются чисто перемасштабируемыми для E:
G
/
A--B--C--D--E
\
F
Из-за ограничений в нашем текущем процессе развертывания мы имеем следующий, несколько связанный граф (он не контролируется версией)
G'
/
------------E'
\
F'
F 'и G' в конечном итоге будут применены к голове E ', в некоторых из которых будет определен порядок, так что это закончится как
------------E'--G'--F'
Есть ли способ проверить, что diff от E 'до G' совпадает с патчем, созданным фиксацией git G из B?
Я полностью понимаю, что в идеальном мире контроль над версиями позволит решить эту проблему, и мы добираемся туда, но не там, где мы сейчас находимся.
Вы могли бы по-разному играть в оба патча на отдельных кассах и сравнивать выходы, но это кажется довольно неуклюжим. И сравнение самих различий, я предполагаю, не будет работать, потому что номера строк могут измениться. Даже если G 'и F' были переустановлены на E ', патч для F' в конечном итоге будет применен к G ', что делает diff-контекст патча другим.