2010-05-15 15 views
6

Iba a preguntar esto en superuser.com pero solo había 5 etiquetas obligatorias, así que vine aquí ... ¿Cómo puedo obtener una lista de espacios de trabajo en un sitio específico? máquina con p4?Obteniendo una lista de espacios de trabajo en una máquina específica con p4

Puedo ejecutar espacios de trabajo de p4, pero eso me da todos ellos, alguna vez. ¿Cómo puedo filtrarlo a un nombre de máquina (cliente) específico?

Respuesta

9

Depende de su entorno. He incluido un archivo de lote básico de Windows para hacer esto.

Ejecute p4 clients. Extraiga la segunda palabra de cada línea, ese es el nombre del cliente. Ejecute p4 client -o <name>. Grep para ^Host:.*\b<hostname>\b. Si grep devuelve éxito, ese cliente es para esa máquina. Acumula la lista.

En Windows:

set CLIENTS= 

for /f "tokens=2" %%c in ('p4 clients') do call :ProcessClient %%c 

echo clients on %HOSTNAME% are %CLIENTS% 
pause 
goto :eof 

:ProcessClient 
    for /f "tokens=1,2" %%h in ('p4 client -o %1') do if "Host:%HOSTNAME%"=="%%h%%i" set CLIENTS=%CLIENTS% %1 
    goto :eof 
+0

En su segundo párrafo, ¿quiere decir "Ejecutar' p4 client -o '", no 'workspaces' nuevamente? Eso es lo que tienes en el script por lotes. – tenpn

+0

Ah sí, caí en la terminología P4V entre escribir el archivo por lotes y escribir esta publicación al respecto. 'cliente' y 'espacio de trabajo' son intercambiables, aunque sí en el segundo caso no debe ser plural. Arreglará. –

4

sé que ha especificado usando P4, pero también se puede mirar a P4Report, que le da acceso a la consulta SQL Perforce. Una vez instalado, sólo se necesita una consulta algo como:

SELECT clients.client FROM clients WHERE (clients.host='enter your machine here') 

que también se puede hacer desde la línea de comandos (p4sql -s "cadena de consulta") Así que si no te importa la sustitución P4SQL de P4 en ti puedo ser más conciso de lo que sugiere el guion.

P4Report se puede encontrar en la sección Herramientas & Utilidades de la página Perforce Downloads.

Cuestiones relacionadas