¿Cuál es la diferencia entre "Retroceder ..." y "Volver a enviar la lista de cambios enviada #####" en Perforce P4V

198

Quiero revertir los cambios de uno de mis registros. En el menú contextual del botón derecho del mouse de la lista de cambios en particular, existen estas dos opciones:

  • Retroceder...
  • Lista de cambios enviados de regreso

¿Cuál es la diferencia entre estos dos? ¿En qué situaciones debo usar cualquiera de los dos?

Dave Andersen
fuente
3
En este caso, la "Lista de cambios enviados de regreso" era la opción correcta para mi situación (solo queriendo revertir los cambios desde el registro). Gracias por las buenas respuestas.
Dave Andersen

Respuestas:

222

Ambas operaciones restauran un conjunto de archivos a un estado anterior y son esencialmente formas más rápidas y seguras de deshacer errores que usar el p4 obliteratecomando (y no necesita acceso de administrador para usarlos).

En el caso de "Rollback ...", esto podría ser cualquier número de archivos, incluso un depósito completo. Puede indicarle que retroceda a una revisión, lista de cambios o etiqueta específica. Los archivos se restauran al estado en que estaban en el momento de la creación de esa revisión, lista de cambios o etiqueta.

En el caso de "Volver a enviar la lista de cambios enviada #####", la operación de restauración está restringida a los archivos que se enviaron en la lista de cambios #####. Esos archivos se restauran al estado en el que estaban antes de enviar esa lista de cambios, siempre que no se hayan realizado cambios en esos archivos desde entonces. Si se han realizado cambios posteriores en cualquiera de esos archivos, Perforce le informará que esos archivos ahora están desactualizados. Tendrá que sincronizar con la revisión de la cabeza y luego resolver las diferencias. De esta manera, no inadvertidamente golpea los cambios que realmente desea conservar.

Ambas operaciones funcionan esencialmente enviando revisiones antiguas como revisiones nuevas. Cuando realiza un "Rollback ...", está restaurando los archivos al estado en que se encontraban en un momento específico , independientemente de lo que les haya sucedido desde entonces. Cuando realiza un "Retroceso ...", intenta deshacer los cambios que realizó en un punto específico en el tiempo , mientras mantiene los cambios que se han producido desde entonces.

cuervo
fuente
18
Creo que "Volver a enviar la lista de cambios enviada #####" intentará mantener los cambios realizados en los mismos archivos después de la lista de cambios dada.
Ian Ringrose el
1
@ Ian: Buena observación. Cuando escribí esto, estaba pensando en corregir inmediatamente un error. Como suele ser el caso, si te das cuenta de que quieres deshacer algo mucho más tarde , se vuelve más complicado. Refiné mi respuesta.
cuervo
@IanRingrose Acabo de hacer una operación de "retroceso", y parece que no intenta mantener los cambios que se hicieron después. Tuve que hacer una sincronización y luego resolver para recuperar los cambios que se enviaron después del cierre.
gdw2
@ gdw2, creo que si hicieras un "Rollback", entonces no tendrías la opción de "resolverlo para recuperar los cambios que se presentaron después del ..."
Ian Ringrose
1
Aunque los archivos se restauran al estado en que se encontraban, los metadatos no. Intentar deshacer una integración desde otra rama no le permitirá realizar esa integración nuevamente porque los metadatos dicen que ya está integrada.
Will Brode
17

Invertir un envío de lista de cambios

No puede deshacer un envío exitoso de la lista de cambios, pero puede revertir los cambios enviados previamente de dos maneras:

La reversión restaura un archivo o conjunto de archivos a una lista de cambios, fecha o revisión especificada. Cualquier cambio realizado después de ese momento no se retiene. Retirarse elimina los cambios específicos realizados en una lista de cambios, fecha o revisión determinada, pero permite al usuario mantener los cambios realizados en revisiones posteriores.

Para más detalles, consulte https://www.perforce.com/perforce/r13.1/manuals/p4v/Working_with_changelists.html

Smartmarkey
fuente
8

Backout restaura o deshace nuestros cambios. La forma en que hace esto es que, P4 deshace los cambios en una lista de cambios (predeterminada o nueva) en nuestro espacio de trabajo local. Luego tenemos que enviar / confirmar esta lista de cambios respaldada al igual que otras listas de cambios. La segunda parte es importante aquí, ya que no cancela automáticamente la lista de cambios en el servidor, tenemos que enviar la lista de cambios respaldada (lo cual tiene sentido después de que lo haga, pero inicialmente asumí que lo hace automáticamente).

Como señalaron otros, Rollback tiene mayores poderes: puede restaurar los cambios a una fecha específica, lista de cambios o una revisión #

usuario841717
fuente
4

Revertir ... le pedirá que seleccione una carpeta para revertir, es decir, funcionará en carpetas específicas, y puede revertir a etiquetas, listas de cambios o fechas. La copia de seguridad funciona en los archivos en listas de cambios específicas.

akf
fuente
4

Les explico esto a los usuarios comparando las listas de cambios de Perforce con una pila (de estructuras de datos).

Retroceder elimina un elemento de cualquier parte de la pila.

Al retroceder, se eliminan n elementos de la parte superior de la pila.

gmaghera
fuente
0

En su forma más simple, la diferencia es de pluralidad:

  • El retroceso se retira de una única lista de cambios (ya sea la más reciente o no). es decir, deshace una sola lista de cambios.
  • Rollback revierte los cambios tanto como sea necesario para llegar a una lista de cambios previa. es decir, deshace múltiples listas de cambios.

Solía ​​olvidar cuál es cuál y terminar teniendo que buscarlo muchas veces. Para solucionar este problema, imagine retroceder en varias rotaciones y, con suerte, el hecho de que la reversión sea ​​plural lo ayudará a usted (¡y a mí!) A recordar cuál es cuál. Retroceso suena 'menos plural' que retroceder para mí. Imagine retroceder de un solo espacio de estacionamiento.

Entonces, la mnemónica es:

  • Rollback → rotaciones múltiples
  • Retroceso → retroceso de un solo espacio de estacionamiento de automóviles

¡Espero que esto ayude!

darrenp
fuente