Mejor manera de" des-promover " archivos en Accurev?


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

A menudo tenemos a alguien empujando accidentalmente un archivo demasiado lejos en nuestra estructura de flujo from desde el flujo "Desarrollo" al flujo "Lanzamiento", por ejemplo. ¿Cuál es la mejor manera de "des-promover" este archivo? Es decir, para obtener la versión anterior del archivo de nuevo en el flujo" Release", y mantener la nueva versión del archivo en el Corriente "Desarrollo", ¿a dónde pertenece?

Simplemente hacer una acción de "Revert to Backed" u otra Revert en el archivo en la secuencia de lanzamiento hará que una versión antigua 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 los tiempos de base en los flujos, o utilizar la herramienta de línea de comandos para hacer un checkout de una transacción antigua, para recuperar el archivo. A veces la gente en las preguntas no son técnicas, por lo que esta no es una buena solución.

También he considerado mover los archivos a una corriente de "tierra más alta", revertirlos y luego cruzarlos a la corriente más baja de nuevo. Esto parece muy complicado.

Parece que Accurev es lo suficientemente oscuro que Google no es de ayuda, así que me dirijo a la buena gente de StackOverflow en busca de ayuda has ¿alguien ha descubierto la "Accurevy" manera de lograr esto?

 26
Author: Luke Rinard, 2010-03-09

4 answers

  1. Ir a main stream browser

  2. Haga clic derecho en la transmisión a la que promovió accidentalmente y elija 'Mostrar historial'

  3. En el navegador del historial, haga clic derecho en la promoción que desea revertir y elija 'Revertir'

  4. Te preguntará en qué espacio de trabajo deseas colocar el resultado de la reversión, puedes elegir el espacio de trabajo desde el que hiciste la promoción accidental si lo deseas.

  5. En su espacio de trabajo, los archivos deben volver a el estado antes de la promoción accidental. Ahora puede promover que de nuevo en la corriente de arriba. La secuencia ahora contendrá versiones de los archivos que tienen su promoción accidental eliminado.

  6. Puede notar que su espacio de trabajo ya no contiene ninguno de los archivos en cuestión, pero es de suponer que desea recuperar los archivos que promovió accidentalmente en su espacio de trabajo. Si es así, vuelva al navegador del historial para la transmisión, haga clic con el botón derecho en la promoción que acaba de hacer (la promoción con las ediciones revertidas en), y elija '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 espacio de trabajo ahora, y estarán en conflicto, así que simplemente seleccione el lote y realice una fusión. Es probable que desee aceptar fusiones triviales aquí.

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

Tan simple como eso (ironía pretendida).

Steve

 29
Author: Steven Craft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-08 14:44:18

La naturaleza de accurev fácil de auditar y solo anexar realmente significa que revertir un cambio significa volver a aplicar la versión que desea. Intuitivamente, usted quiere ir hacia atrás " 1-paso."Pero en un sistema solo para anexar, esto realmente significa avanzar y volver a aplicar una versión antigua. Por lo tanto, revertir es naturalmente un proceso de "2 pasos hacia adelante" en lugar de "1 paso hacia 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 anexar ' supera al revertir receta (IMO).

Como una solución consistente de ventanilla única, el enfoque más preciso (como mencionas) 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 una des-fusión. Piensa en revertir una promoción intersticial... es como sacar la lechuga de un sándwich y tener que fusionar los bollos de arriba y de abajo. Solo en un sistema basado en txn, esa reversión también puede incluir la sal de tomate, mostaza y apio y como un solo "deshacer"."Por lo que tendrá que guardar los cambios de la fusión si existe uno. En cualquier caso, e incluso si solo estás deshaciendo la promoción más reciente, solo revierte el cambio al espacio de trabajo, haz la fusión [ocasional] y promociona 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 tomar ventaja de las transmisiones accurev para validar el código antes de lo habitual y promover la cadena solo cuando se valida. así que la posibilidad de revertir es menor a medida que se promueve más alto.

 12
Author: user129236,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-25 11:50:36

AccuRev versión 5.2 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 la secuencia "release", pero no resuelve la segunda parte de su pregunta (para poner la nueva versión de nuevo en la secuencia" development". La función completa "unpromote / demote" está programada para una versión futura.

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

 5
Author: adam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-06 15:55:18

Digo esto no del todo irónico, pero puedes ejecutar Mercurial localmente y luego cuando te encuentres con esta situación haz retroceder tu Mercurial, vuelve a ascender a Accurev y luego haz rodar Mercurial hacia adelante de nuevo. Varios desarrolladores en mi lugar de trabajo encuentran Accurev tan oneroso de usar que este patrón está ganando algo de tracción.

 2
Author: Tim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-20 19:40:33