2012-03-02 11 views
7

A veces nos gustaría integrar un cambio de una rama a otra, pero los cambios en la fuente se ignoran efectivamente. Por lo general, hacemos esto con resolve -at, lo que significa "simplemente ignorar los cambios en la fuente", y no modificamos el objetivo. Sin embargo, esta operación aún afecta los metadatos de Perforce, ya que ahora comprende que las revisiones de origen en cuestión se han integrado al objetivo, por lo que no aparecerán en futuras integraciones.Integraciones de Perforce con destinos eliminados

Si se elimina cualquier archivo de destino, sin embargo, la resolución se producirá un error con el siguiente error:

<dest> - can't branch from <source> without -d or -Dt flag

bien, a fin de utilizar la bandera -Dt, y se re-añadió el archivo. Sin embargo, no es elegible para resolverlo, así que no puedo usar -at, y cualquier envío volverá a crear el archivo, que no es lo que quiero (que es dejar el destino sin cambios).

¿Hay alguna manera de hacer lo que quiero? Tampoco quiero modificar el branchspec para cada eliminación en el destino, y de hecho tales modificaciones pueden no ser apropiadas para las ramas para las que no desearía este comportamiento "no op".

Respuesta

13

La versión más reciente del servidor Perforce (2011.1) tiene una solución para esto. De the release notas:

When files have been edited in one branch and deleted in another, a special resolve will be scheduled to accept or ignore the branch or delete action. (This replaces the old "can't branch/delete without -d flag" warning.) The -Rb and -Rd flags to "p4 integrate" will force all branch and delete actions to be resolved, permitting them to be ignored even when they are not in conflict.

+0

Perfecto, exactamente lo que necesitaba. Parece que todavía estamos atrapados en una versión prehistórica de 2010, ¡pero presionaré para una actualización! – BeeOnRope

+0

Llegamos a esta versión con el tiempo y las banderas '-R *' funcionaron como se esperaba. – BeeOnRope

Cuestiones relacionadas