Para una compilación seria (una que se está preparando para la prueba), especifique explícitamente la etiqueta deseada o el número de lista de cambios, sincronice con la etiqueta, e incorpórela en los artefactos de compilación.
Si no se proporciona una lista de cambios (o etiqueta), utilice p4 counter change
para obtener el número de cambio actual y regístrelo. Pero aún necesitas sincronizar todo con ese número de cambio.
No creo que pueda lograr exactamente lo que desea, porque en general, un espacio de trabajo completo no está sincronizado con un número de lista de cambios en particular. Uno puede sincronizar explícitamente algunos archivos con revisiones anteriores, y luego un solo número de lista de cambios no tiene sentido. Es por eso que sync
se requiere una actualización para garantizar que un único número de lista de cambios represente con precisión la versión del código.
Con respecto a los comentarios: Sí, mi respuesta está destinada a los administradores de configuración que preparan una compilación para entregarla a QA. Nuestros desarrolladores normalmente no se sincronizan como parte de una compilación; hacen una compilación antes de enviarla, para que puedan asegurarse de que sus cambios no rompan la compilación o las pruebas. En ese contexto, no nos molestamos en incrustar una etiqueta de repositorio.
Con su enfoque, está asumiendo que todo su espacio de trabajo se sincronizó para encabezar en el momento de su última presentación de lista de cambios, y esa lista de cambios incluía todos sus archivos abiertos. Es demasiado fácil equivocarse en esas suposiciones, difícil de detectar y terriblemente caro en términos de tiempo perdido. Por otro lado, resolver el problema es fácil, sin inconvenientes. Y debido a que se puede especificar explícitamente un número de lista de cambios, no importa qué revisión necesite o qué tan rápido cambie el código base.
p4 changes | head -1
parece más fácil que la mayoría de estas soluciones.