Perforce integraciones con objectives eliminados

A veces nos gustaría integrar un cambio de una twig a otra, pero los cambios en la fuente se ignoran efectivamente. Por lo general, hacemos esto con la resolve -at , que significa "simplemente ignorar los cambios en la fuente", y no modificamos el objective. 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 objective, por lo que no aparecerán en futuras integraciones.

Sin embargo, si se elimina cualquier file de destino, la resolución fallará con el siguiente error:

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

De acuerdo, use el -Dt y el file se volverá a agregar. Sin embargo, no es elegible para resolverlo, así que no puedo usar -at , y cualquier envío volverá a crear el file, que no es lo que quiero (que es dejar el destino sin cambios).

¿Hay alguna forma 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 twigs para las que no desearía este comportamiento "no op".

La versión más nueva del server de Perforce (2011.1) tiene una solución para esto. De las notas de la versión :

Cuando los files se han editado en una twig y se han eliminado en otra, se progtwigrá una resolución especial para aceptar o ignorar la twig o eliminar la acción. (Esto reemplaza la antigua advertencia "no se puede ramificar / eliminar sin -d indicador"). Los -Rb y -Rd para "integrar p4" obligarán a que se resuelvan todas las acciones de sucursal y supresión, lo que permite ignorarlas incluso cuando ellos no están en conflicto

Puedes hacerlo con

 git merge --no-commit other-branch 

Ahora

 git checkout HEAD -- . 

Y

 git commit 

Ahora ha ignorado los cambios introducidos por la otra twig.