2008-11-19 15 views
9

Me gustaría saber cómo convertir ubicaciones de depósito de Perforce en ubicaciones de vista de cliente con el fin de escribir guiones.Cómo convertir ubicaciones de depósito de Perforce a ubicaciones de vista de cliente

Tengo un script que primero comprueba un archivo para editar en forzosamente y luego interactúa con el archivo. Necesito tener la ubicación de depósito (es decir, \ Projects \ Project6) convertida a la ubicación de vista del cliente. (es decir, d: \ Projects \ Project6).

¿Esto es posible?

+1

forzosamente es el peor. – bharal

Respuesta

2

Compruebe el comando p4 have. Usted le da ya sea una ubicación de depósito o un nombre de archivo de cliente y le da la ubicación de depósito, nombre de archivo del cliente, y qué versión de ese archivo tiene.

3

Usaría el comando p4 fstat. Encuentro que su formato es un poco más fácil de analizar que p4 tienen. Además, si está scripting this en python, puede usar el -G option para obtener los valores de devolución ordenados como diccionarios de python.

También es útil tener en cuenta que puede escribir los comandos de ayuda p4 para ver una lista de los comandos y una breve descripción de lo que hacen.

11

Siempre he usado el p4 donde comando para esto. Aquí está la descripción de la ayuda integrada en:

where -- Show how file names map through the client view 

p4 where [ file ... ] 

    Where shows how the named files map through the client view. 
    For each argument, three names are produced: the name in the 
    depot, the name on the client in Perforce syntax, and the name 
    on the client in local syntax. 

    If no file is given, the mapping for '...' (all files in the 
    current directory and below) is shown. 

    Note that 'p4 where' does not determine where any real files are. 
    It only computes where they should be according to the client view. 
+0

Si desea analizar la salida de 'p4 where' y sus nombres de archivo tienen espacios en ellos, consulte http://maillist.perforce.com/pipermail/perforce-user/2007-February/020820.html - Encontré algo así como 'p4 donde -T quack // blah/somefile.txt' funcionó bien. La parte 'quack' solo se cita en la salida, pero hay que poner algo allí. Además, dado que 'p4 where' puede generar resultados múltiples para espacios de trabajo complejos (consulte Notas de uso en http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_where.html), asegúrese de tomar solo el última línea interesante de la salida (creo que esto es seguro). – entheh

Cuestiones relacionadas