accurev

¿La mejor manera de "anular la promoción" de archivos en Accurev?



(4)

Mi empresa utiliza Accurev para el control de código fuente y, a pesar de todos sus beneficios, hay una acción simple que simplemente no puedo averiguar cómo lograrlo.

A menudo tenemos a alguien que accidentalmente empuja un archivo demasiado lejos en nuestra estructura de flujo, por ejemplo, desde el flujo "Desarrollo" al flujo "Lanzamiento". ¿Cuál es la mejor manera de "anular la promoción" de este archivo? Es decir, para volver a colocar la versión antigua del archivo en la transmisión "Release" y mantener la nueva versión del archivo en la transmisión "Development", ¿a dónde pertenece?

El solo hecho de "Revertir a respaldado" u otra acción Revertir en el archivo en el flujo de la versión provocará que una versión anterior del archivo se propague hacia el Desarrollo o hará que el archivo desaparezca por completo.

En el caso anterior, el desarrollador tendrá que saltar a través de aros con el establecimiento de tiempos de base en las transmisiones, o usar la herramienta de línea de comandos para realizar un pago de una transacción anterior, para recuperar el archivo. A veces las personas en cuestión no son técnicas, por lo que no es una buena solución.

También he considerado mover los archivos a un flujo de "terreno elevado", revertirlos y luego promoverlos de nuevo en el flujo inferior. Esto parece realmente torpe.

Parece que Accurev es lo suficientemente oscuro como para que Google no sirva de ayuda, así que me dirijo a la buena gente de StackOverflow en busca de ayuda. ¿Alguien ha descubierto la forma "Accurevy" de lograr esto?


  1. Ir al navegador principal

  2. Haga clic con el botón derecho en la transmisión a la que promovió accidentalmente y seleccione ''Mostrar historial''

  3. En el navegador de Historial, haga clic con el botón derecho en la promoción que desea revertir y seleccione ''Revertir''

  4. Le indicará en qué espacio de trabajo desea colocar el resultado de la reversión, puede elegir el espacio de trabajo del que realizó la promoción accidental si lo desea.

  5. En su área de trabajo, los archivos deberían volver al estado antes de la promoción accidental. Ahora puedes promover eso de nuevo en la corriente de arriba. La transmisión ahora contendrá versiones de los archivos que tienen su promoción accidental eliminada.

  6. ¿Puede observar que su área de trabajo ya no contiene ninguno de los archivos en cuestión, pero presumiblemente desea recuperar los archivos que promovió accidentalmente de nuevo en su área de trabajo? Si es así, vuelva al navegador de historial de la transmisión, haga clic con el botón derecho en la promoción que acaba de realizar (la promoción con las ediciones revertidas) y seleccione "Revertir". A continuación, puede elegir el mismo espacio de trabajo que el destino.

  7. Los archivos probablemente aparecerán en el grupo predeterminado para su área de trabajo ahora y estarán en conflicto, así que solo seleccione el lote y haga una combinación. Probablemente querrá aceptar combinaciones triviales aquí.

Una vez que haya fusionado los archivos, deberían aparecer en su filtro pendiente. Ahora debería tener los mismos archivos pendientes que antes de haber promovido accidentalmente, y la secuencia anterior debe tener el mismo contenido en el archivo que antes de promover.

Tan simple como eso (destinado a la ironía).

Steve


Digo que esto no es del todo irónico, pero puede ejecutar Mercurial localmente y luego, cuando se encuentre en esta situación, haga retroceder su Mercurial, vuelva a promocionar a Accurev y luego haga que Mercurial avance nuevamente. Varios desarrolladores en mi lugar de trabajo encuentran a Accurev tan oneroso de usar que este patrón está ganando algo de fuerza.


La naturaleza apta para la auditoría y solo de apéndice realmente implica que revertir un cambio significa volver a aplicar la versión que desee. Intuitivamente, quieres retroceder "1 paso". Pero en un sistema solo para anexos, esto realmente significa avanzar y volver a aplicar una versión anterior. Por lo tanto, revertir es naturalmente un proceso de "2 pasos adelante" en lugar de "1 paso atrás".

En la mayoría de las situaciones, la reversión no ocurre tan a menudo, por lo que el valor global de ''solo añadir'' supera la receta de reversión (IMO).

Como una solución consistente en una sola parada, el enfoque más preciso (como usted menciona) es revertir la transacción de promoción. Ver el historial de transmisión, encontrar la promoción no deseada, RClick> Revertir. Necesitarás un espacio de trabajo infantil ... ¿por qué? porque hacer una reversión puede requerir un des-fusión. Piense en revertir una promoción intersticial ... es como sacar la lechuga de un sándwich y la necesidad de unir los bollos superior e inferior. Solo en un sistema basado en txn, la reversión también puede incluir la sal de tomate, mostaza y apio y como un solo "deshacer". Así que tendrás que guardar los cambios de la combinación si existe. En cualquier caso, e incluso si solo está deshaciendo la promoción más reciente, simplemente revertir el cambio en el área de trabajo, fusionar [ocasionalmente] y promocionar todo.

Larga historia corta. Revertir en cualquier sistema de CM es un poco como hacer una cirugía, por lo que es probable que desee que participen personas relevantes.

Dando un paso atrás. Tiendo a aprovechar las transmisiones exactas para validar el código antes de lo habitual y promocionar la cadena solo cuando se valida. por lo que la posibilidad de revertir es menor a medida que promuevas más.


La versión 5.2 de AccuRev introduce la capacidad de revertir una transacción o problema directamente en una secuencia, sin involucrar un espacio de trabajo. Esto es útil para revertir un cambio en el flujo de "lanzamiento", pero no resuelve la segunda parte de su pregunta (para volver a poner la nueva versión en el flujo de "desarrollo". La función completa "no prometer / demote" está programada para un futuro lanzamiento.

Para obtener más información sobre la versión 5.2, visite las notas de la versión en -

http://www.accurev.com/download/docs/5.2.0_books/AccuRev_5_2_0_Install_Release_Notes.pdf