¿Hay alguna forma de comprobar si dos diffs o parches son equivalentes?¿Hay alguna forma de comparar dos diffs o parches?
Digamos que tiene la siguiente git commit historia, donde las características F y G son limpiamente rebaseable a E:
G
/
A--B--C--D--E
\
F
Debido a limitaciones en nuestro proceso de implementación actual, tenemos lo siguiente, de alguna manera relacionado gráfico (no es versión controlada)
G'
/
------------E'
\
F'
F 'y G' en última instancia ser aplicado a la cabeza e', en algunos como orden determinado, por lo que terminaría como
------------E'--G'--F'
¿Hay alguna manera de probar que la diferencia de E 'a G' es la misma que la del parche producido por el compromiso de git de G?
Me doy cuenta totalmente de que en un mundo ideal, el control de revisiones resolvería esto, y estamos llegando allí, pero no es donde estamos actualmente.
En esencia, podría reproducir ambos parches en cajas separadas y comparar las salidas, pero eso parece un poco torpe. Y comparando los diferenciales, supongo, no funcionaría porque los números de línea podrían cambiar. Incluso si G 'y F' se rebasaran a E ', el parche para F' se aplicaría finalmente a G ', lo que haría diferente el contexto del parche.
¿Usted intentó un diff en los diferenciales? – Geoffroy
Gnu diff tiene un interruptor de línea de comando para especificar expresiones regulares para que las líneas sean ignoradas cuando se genera la diferencia. – holygeek
Para lotes, 'git patch-id' y' git cherry' (también vea las opciones '--cherry *' para git log) pueden usarse como respuesta rápida, pero es demasiado estricto y puede considerar importantes cambios menores. Diferencia de diffs es el camino a seguir cuando necesita cierta respuesta – max630