vcs - perforce p4v
¿Cómo puedo indicarle a Perforce que se fusione en lugar de sobrescribir o revertir cuando se desenvuelve un archivo? (2)
Lo que normalmente hago es hacer clic con el botón derecho en el archivo archivado y seleccionar "Diff Against Workspace File". Cuando abre la herramienta Diff, puede seleccionar un botón en la barra de herramientas para "Editar archivo en el panel derecho". Esto esencialmente comienza una fusión de dos vías. Con cada diferencia, puede seleccionar los cambios que desee del archivo archivado (las diferencias se seleccionan del archivo del área de trabajo de forma predeterminada).
Sin embargo, sería bueno que Perforce agregara un tipo de función de combinación para hacerlo de forma más automática.
Editar para agregar: Perforce ahora tiene una capacidad incorporada para combinar archivos al momento de desempaquetar. Si el usuario desvela un archivo que también está desprotegido, y la opción "Revertir los archivos extraídos antes de desempaquetar" no está marcada, Perforce marcará ese archivo para su resolución. Revisé las notas de la versión y no pude encontrar en qué versión se agregó esta capacidad, pero en base a este link (ver cerca de la parte inferior de la descripción de p4 unshelve
), se agregó a más tardar en 2012.1.
Editado nuevamente para agregar: Esa característica se agregó en la versión 2011.1 del servidor. Aquí está la nota de lanzamiento:
#299614 (Bug #38221, #39099) **
Unshelving a file opened for edit over a file already opened
for edit in the workspace is now allowed. A resolve record is
created when unshelving, and the user must then run ''p4 resolve''
to resolve the workspace files with the shelved files.
¿Cómo puedo indicarle a Perforce que fusione los cambios en un archivo existente, abierto y modificado en el área de trabajo al momento de retirar un archivo guardado en el depósito? La única opción que Perforce parece ofrecer al usuario es sobrescribir o revertir el archivo existente en el área de trabajo, pero esto no permite, por ejemplo, cancelar la suscripción e integrar cambios al mismo archivo desde varias listas de cambios. ¿Hay alguna forma de evitar esta limitación?
Si revisa su archivo y luego intenta enviarlo, le dará la opción de obtener la última revisión sin reemplazar su copia. Luego, posteriormente, le dará la posibilidad de ejecutar una herramienta de combinación, en la que debe resolver cualquier conflicto antes de enviar.