Есть ли способ сравнить два различия или патча?

Есть ли способ проверить, эквивалентны ли два различия или патча?

Допустим, у вас есть следующая история коммитов 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 ', что сделало бы различный контекст патча другим.

27
задан Mark Canlas 20 December 2011 в 01:51
поделиться