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