branch perforce shelving

branch - Perforce: ¿mueves un changelist archivado de la rama principal a la rama?



shelving (5)

  1. enviarlo en /main/
  2. integrar la lista de cambios a /dev/branch/
  3. deshacer o retroceder la lista de cambios en /main/

Esto le permite resolver conflictos si hay alguno. La desventaja es el retroceso de la lista de cambios en /main/ que no es bonito.

Me pregunto si hay alguna manera de mover un Changelist que fue creado editando en / main / a una rama / dev / rama?

Tengo seis Changelists con muchos archivos en ellos. Guardé todos los archivos y me gustaría moverlos a la sucursal para seguir trabajando allí. Preferiría hacer esto directamente en P4V, si es posible.

Estoy usando P4V 2011.1 con el servidor 2010.2 P4.


A partir de Perforce 2013.1, puede archivar un archivo en una rama y desacoplarlo en otra, utilizando una especificación de rama o secuencia como la asignación.

Aquí está la documentación que describe las nuevas opciones -b y -S .


Creo que puedes hacer clic derecho en un archivo editado y elegir Rename/Move...

Si eso no funciona, es probable que tenga que usar la línea de comandos y hacer p4 move -f old_file new_file y moverse a otra rama.

Nota: para lo que vale, esto funciona para las ramas pero no para las corrientes.


No lo he intentado yo mismo, pero me imagino que debería ser posible:

  1. Cambie su cliente a un área de trabajo que contenga asignaciones para la rama de destino
  2. Seleccione la lista de cambios pendiente y anule la selección (o llame a p4 unshelve -s <number> desde la línea de comandos

Del manual p4:

A successful unshelve operation places the shelved files on the user''s workspace with the same open action and pending integration history as if it had originated from that user and client.


También puedes usar "p4 move -f / main / ... / dev / branch / ..." para lograr esto.

  1. asegúrese de que los únicos archivos editables que tiene en / main / ... son los que desea mover. Doce y revertir archivos en cualquier otra lista de cambios
  2. línea de comando: "p4 mover -f / main / ... / dev / branch / ..."
  3. los archivos en el conjunto de cambios ahora están en / dev / branch marcados como que requieren resolución
  4. Resuelva cada archivo como lo haría con un conflicto ordinario