Por lo general, usamos Perforce y SmartBear's Code Collaborator en Big Corp
y ahora también usaremos Mercurial para ciertos proyectos.
Code Collaborator admite Mercurial (estamos utilizando la versión 5) y estoy tratando de determinar cuándo el mejor momento (durante el proceso de confirmación / envío al servidor) es el mejor / eficiente momento para una revisión de código
Gracias
code-reviews
mercurial
cbrulak
fuente
fuente
Respuestas:
De hecho, pasamos por casi exactamente lo mismo en mi empresa recientemente. Esto es lo que hicimos:
Mantenemos una copia definitiva central de todos nuestros repositorios en un servidor. Cuando los desarrolladores quieren "revisar" el código, van a este servidor y clonan desde los repositorios allí. Del mismo modo, cuando se completa el ciclo de desarrollo, el código también se inserta en el repositorio apropiado.
Separamos estables repositorios de desarrollo repositorios. Requerimos que el código se revise antes de que se inserte en un repositorio estable. (Esto es importante porque también requerimos que nuestros repositorios estables contengan el código que se está ejecutando actualmente en producción, que solo se diferencia por promociones de código pendientes).
Para hacer cumplir la revisión del código, escribimos un
pretxnchangegroup
gancho (documentado en el Libro HG ). Aprovechamos el hecho de que cuando se ejecuta este enlace, puede ver el repositorio como si los cambios en el código fueran permanentes, pero también nos da la capacidad de evitar el empuje. Básicamente, el proceso es el siguiente:En esencia, esto le proporciona al desarrollador un proceso bastante simplificado (todo lo que tienen que hacer es presionar hg) y automatiza completamente la creación de la revisión del código (y la carga de archivos modificados adicionales a la revisión), al tiempo que garantiza que todo el código sea revisado .
Nota: Este es un proceso bastante simple (y relativamente nuevo para nosotros), por lo que puede que no funcione para todos, y puede haber algunos errores de diseño que aún no hemos encontrado. Pero hasta ahora, ha funcionado bastante bien.
fuente
Depende de cómo tenga su estructura de repositorio y de lo que esté tratando de lograr. Preferimos hacer revisiones "precompromiso", que en el mundo de DVCS realmente significa "pre-push". Los DVCS son más agradables en este entorno (en comparación con los SCM tradicionales) porque tienen una funcionalidad incorporada para guardar sus cambios locales y recuperar su espacio de trabajo para que pueda trabajar en otra cosa.
Si desea realizar revisiones posteriores, el flujo de trabajo ideal depende en gran medida de la estructura de su repositorio. Por ejemplo, supongamos una estructura de repositorio que se parece a la discutida en este artículo sobre diseños de repositorio de Git . En este caso, es posible que desee revisar los cambios que se están fusionando
develop
. Las confirmaciones individuales en ramas de características pueden no tener sentido para la revisión. Obviamente, todohotfixes
también debe ser revisado junto con las fusiones enmaster
.Si, por el contrario, tiene una rama de integración única en la que las personas se registran directamente, querrá revisar todos los envíos a esa rama. Probablemente sea un poco menos eficiente, pero aún podría funcionar. En este entorno, deberá asegurarse de revisar todos los cambios que se han enviado antes de cortar una versión. Eso puede ser más complicado.
En cuanto a b) lo único que sugeriría es enviar un correo electrónico al soporte de SmartBear ([email protected]) directamente. (Sí, trabajo para SmartBear) estaremos encantados de ayudarlo a resolver sus problemas de ruta, pero no hay suficiente información en esta pregunta para solucionar su problema. El proceso normal es simplemente ejecutar el instalador y todo funciona. Al parecer, algo salió mal en ese proceso.
fuente