Compromisos que han pasado por diferencial se muestran en el sistema de auditoría Phabricator

Una pregunta bastante simple, este es el problema.

Nuestro flujo de trabajo: usted hace su trabajo en su sucursal local, se compromete con frecuencia y granularmente y desea hacer una diferencia de su trabajo.

  • arc diff 'origin / superAwesomeBranch'

(SuperAwesomeBranch es nuestra principal twig de desarrollo. No sé por qué no usamos, así es como es)

La diferencia va a Phabricator y los flujos de retroalimentación hacemos lo siguiente:

  • git pull –rebase (por si fuera poco, nos aseguramos de volver a establecer la base con frecuencia)

  • Haga sus cambios / nuevos commits.

  • arc diff –update Dxx

  • El compromiso se atesting …

  • arc land –onto superAwesomeBranch –merge (queremos mantener nuestro historial de compromisos, sé que podríamos simplemente configurar eso en el file .arcconfig)

Y aquí es donde ocurre el problema. Siguiendo el flujo de trabajo descrito anteriormente, ciertos compromisos que estaban separados por un diferencial aparecen en el sistema de auditoría como no revisados.

¿Está nuestro flujo de trabajo en mal estado, nos falta un paso / bandera en los commands?

Phabricator no trata este caso muy intuitivamente. En al less algunos casos, solo la confirmación de fusión real se considera revisada.

Este es un problema legado / técnico, no una opción de producto explícita. Siéntase libre de presentar una request de function para mejorar esto y probablemente podamos mejorar las cosas, aunque hay algunos problemas técnicos difíciles en que analizamos las confirmaciones en un order arbitrario, pero es posible que no podamos reconocer una confirmación como parte de una revisión hasta analizamos todos los descendientes

Una solución alternativa sería soltar el indicador --merge , pero obviamente perderás el historial. Este artículo explica por qué lo hacemos en nuestros flujos de trabajo y por qué es el pnetworkingeterminado, pero no todos lo encuentran convincente y deberíamos tener un mejor soporte para el flujo de trabajo de fusión.

Históricamente, todos los flujos de trabajo de Phabricator en Facebook eran "una revisión = una confirmación". En la naturaleza, muchos flujos de trabajo comunes son "una revisión = una twig". Poco a poco hemos mejorado el event handling esto, pero todavía está por detrás de los flujos de trabajo de "compromiso único".