2012-03-16 9 views
19

Cada vez que hacemos una acumulación, tenemos que registrar el número de lista de cambios de archivos de código fuente para el seguimiento. Tenemos diferentes proyectos (en diferentes directorios) y están sincronizados en diferentes números de lista de cambios. ¿Puede mostrarme cómo podemos obtener el número de lista de cambios de un directorio específico?Obtener el número de lista de cambios de directorio de espacio de trabajo actual

Cualquier sugerencia es apreciada. Gracias y saludos cordiales

+1

Quizás una etiqueta sería útil. La etiqueta puede registrar las revisiones de los archivos que usted construyó. –

+0

¡Gracias a todos por sus sugerencias! –

Respuesta

27

Además, hay p4 changes -m1 //path/to/your/project/...#have que, si se ejecuta en el espacio de trabajo del cliente que sincronizó los archivos para compilar, le dará la mayor cantidad de listas de cambios de los archivos en el área de trabajo.

+0

Esto se ve muy bien, pero me da "Solicitud demasiado grande (más de 550.000); véase 'ayuda maxResults p4'." error. Me encanta Perforce, tan llena de sorpresas ... – thegeko

1

Si su sistema de compilación siempre se sincroniza para encabezar en el directorio antes de compilar, puede usar p4 changes -m 1 //path/to/your/project/... para obtener el número de lista de cambios principal para ese directorio.

Si usted va con este método, sugeriría ejecutar los cambios comando antes de la sincronización, y luego sincronizar de forma explícita a la lista de cambios. Eso debería eliminar la posibilidad de que alguien se registre entre el comando de cambios y el comando de sincronización.

0

También puede usar la versión corta p4 changes -m1 #have si no desea especificar el directorio.

+1

Tenga en cuenta que esto no es lo mismo que la respuesta del usuario1054341 que incluye la ruta de acceso del almacén. Esta versión parece incluir cambios que el cliente aún no ha sincronizado. – solublefish

+2

Sí, no. Como dice solublefish, esto da la lista de cambios más nueva en el servidor, que no es para nada la lista de cambios a la que he sincronizado mi vista de cliente. – damian

+0

@solublefish @damian Creo que su shell puede ignorar silenciosamente la parte '# have' porque ese comando funciona exactamente como se anuncia. –

4
p4 cstat //path/to/your/project...#have |grep -B1 have|tail -n2 

@thegeco, esto no requiere altas max_scanrows límites forzosamente

+0

¿Qué quiere decir con "límites máximo de max_scanrows forces"? –

0

utilizo el "manual de manera perezosa" (también conocido como No sé mejor) dentro del cliente P4V:

Utilice esta en los filtros pestaña "Enviado": //yourproject/...#>have Y le mostrará lo que CLs usted no ha sincronizado, tenga en cuenta la más antigua. Retire la #> tienen filtro y ver cuál es la CL que vino antes del que se acaba de señalar.

-1

En mi caso, sólo quiero saber lo que se abre el número de lista de cambios (no syned a) en un directorio específico. Para eso, lo hago:

p4 opened -s | cut -d' ' -f5 | uniq 
Cuestiones relacionadas