¿Alguien puede explicar las opciones de integración forzosa?

Específicamente:

  • ¿Por qué necesito habilitar explícitamente "Habilitar fusiones sin base" todo el time? Me estoy integrando desde mi sucursal al baúl.

  • ¿Qué significa "Habilitar integrar sobre objectives eliminados"? ¿No debería hacer esto por defecto? Si el file no existe e integre a esa twig con el file, debería crear el file, ¿verdad?

  • ¿Qué tiene que ver "Integrar no get la última revisión de los files seleccionados"? Debería elegir una revisión de fuente y un objective (para crear una nueva revisión de objective).

  • ¿Qué significa "No tener en count el historial de integración indirecta"? Nunca lo he usado, ya que suena aterrador.

Le agradecería saber, ya que estoy un poco inseguro de qué opciones habilitar cuando estoy tratando de hacer varias tareas de integración desde nuestro tronco a varias twigs o viceversa. (No soy el jefe de construcción, pero bueno, quiero saber lo que él sabe).

  1. En general, para fusionar dos files, por fuerza busca una "base", la revisión más cercana a los dos files, y la usa para proporcionar una diferencia mucho mejor que simplemente ejecutar directamente los dos files diferentes. Ver el artículo de Knowledge Base . Sin conocer su configuration forzosa, no podría decir qué estaba yendo mal, sin embargo, p4win tiene algunas herramientas gráficas agradables para visualizar twigs, es posible que pueda determinar por qué forzosamente no puede encontrar una base para usted. Esto es también lo que hace "Ignorar el historial de integración indirecta": evita que busque la base.

  2. Para "no sincronizar a la cabeza": al integrar, su "objective" son los files en su cliente local, para los que no está especificando una revisión; en su lugar, forzosamente sincronizará su cabezal de revisión (si no usa "-h"), o usará el que tiene actualmente. No puede especificar una revisión arbitraria porque su cliente local solo tiene una particular.

¿Por qué necesito habilitar explícitamente "Habilitar fusiones sin base" todo el time? Me estoy integrando desde mi sucursal al baúl.

No puedo ayudarte aquí. Algo no está bien.

¿Qué significa "Habilitar integrar sobre objectives eliminados"?

Si el file de destino se ha eliminado y el file de origen ha cambiado, se volverá a ramificar el file de origen en la parte superior del file de destino. Sin esta opción, un file en la bifurcación, que se ha cambiado en la bifurcación y se ha eliminado en el enlace troncal, no se podría integrar de nuevo en el enlace troncal.

¿No debería hacer esto por defecto?

No, si está integrando un file de nuevo en el tronco, que se ramificó desde el tronco, y luego se borró en el tronco. Normalmente 'p4 integrate' evita mezclar ediciones sobresalientes con un file eliminado. Debe usar las opciones avanzadas para indicarle cómo tratar con un file eliminado.

Si el file no existe e integre a esa twig con el file, debería crear el file, ¿verdad?

Al integrar un file, que previamente nunca existió (es decir, se agregó a la sucursal), de una location a otra, sí, Perforce simplemente lo creará en la location en la que se está integrando. Sin embargo, si el file proviene originalmente del tronco, se eliminó en el tronco y ahora está tratando de integrarlo nuevamente en el tronco desde la twig, debe decirle qué hacer a través de estas opciones de integración. Aquí están los conmutadores de línea de command a los que corresponden estas opciones:

  • Habilitar integraciones alnetworkingedor de revisiones eliminadas = -d
  • Integre los destinos eliminados = -Dt
  • Eliminar el file de destino cuando se borra la fuente = -Ds
  • Intenta integrar los cambios cuando la fuente se elimina y se vuelve a agregar = -Di

Puede get más información sobre ellos en la ayuda integrada de commands (escriba "p4 help integrate" en la command-line).

¿Qué tiene que ver "Integrar no get la última revisión de los files seleccionados"?

Esto le dice a Perforce que use la revisión del espacio de trabajo del file de destino. De forma pnetworkingeterminada, la revisión principal del file de destino se recupera automáticamente en el área de trabajo antes de la integración. Supongamos que ha realizado una revisión de un file de sucursal y lo ha integrado nuevamente en el tronco. El tronco y la twig ahora tienen dos revisiones de este file. Envía un cambio al file de sucursal por lo que ahora tiene 3 revisiones. Vuelve a sincronizar el file de bifurcación con la revisión 2. Si realizara una integración normal en este momento, Perforce asumiría que desea integrar todo hasta la revisión principal e integraría la revisión 3 del file de bifurcación en el enlace troncal. Si tuviera que seleccionar esta opción, diría "todas las revisiones ya están integradas" porque tiene la revisión 2 en su área de trabajo. Sería lo mismo que tratar de integrar con la opción "Limitar el scope de la integración:" establecida en "Integrar todas las revisiones hasta:" Revisión 2.

¿Qué significa "No tener en count el historial de integración indirecta"? Nunca lo he usado, ya que suena aterrador.

No puedo descubrir ni encontrar información sobre qué hace esto.

"Habilitar integración sobre objectives eliminados" puede provocar problemas si se hace a ciegas. Aquí hay un ejemplo: imagine que refactoriza su código en su próxima twig de publicación y elimina un file de origen como resultado: la funcionalidad se fusionó en algunos otros files de origen. A continuación, corrige un error en ese file fuente original en una twig de mantenimiento para la versión anterior. Si integra sobre la eliminación de forma pnetworkingeterminada, el file fuente muerto vuelve, pero no se generará y el error no se habrá solucionado. Es mejor que se lo advierta de que esto ocurrió para que pueda combinar manualmente la corrección en los otros files de origen.