¿Cómo puedo eliminar rápida y fácilmente todos los trabajos de Perforce que se adjuntan a las listas de cambios?
-
03-07-2019 - |
Pregunta
Tengo una lista de aproximadamente 600 trabajos que no puedo eliminar de la línea de comando porque están adjuntos a las listas de cambios. La única forma en que sé cómo separarlos es a través de la GUI, pero eso tomaría una eternidad. ¿Alguien conoce una manera mejor (es decir, más rápida)?
Solución
Lo descubrí usando el " arreglo " y "arreglos" comandos Aquí está el procedimiento:
Volcar la salida de los " arreglos " comando a un archivo
p4 fixes > tmp.txt
El archivo contendrá un montón de líneas como esta:
job005519 fixed by change 3177 on 2007/11/06 by raven@raven1 (closed)
job005552 fixed by change 3320 on 2007/12/11 by raven@raven1 (closed)
job005552 fixed by change 3318 on 2007/12/10 by raven@raven1 (closed)
...
Use su editor de texto de confianza (y no estoy hablando del Bloc de notas aquí) para crear una macro que convierta las líneas en comandos Perforce para separar los trabajos de las listas de cambios, (p4 arreglo -d):
p4 fix -d -c 3177 job005519
p4 fix -d -c 3320 job005552
p4 fix -d -c 3318 job005552
...
Guarde el archivo como un archivo .bat o .cmd y ejecútelo, y bada bing, bada boom ... todos sus trabajos están separados de las listas de cambios y puede eliminarlos usando la GUI, o con un procedimiento similar al uno que acabo de esbozar y la salida de los "trabajos" comando:
p4 jobs > tmp.txt
Otros consejos
El argumento -x de Perforce es muy útil; "indica a p4 que lea los argumentos, uno por línea, del archivo con nombre [o] entrada estándar". Además, creo que "trabajo -d" permite eliminar trabajos incluso cuando están asociados con cambios. Entonces, para eliminar todos los trabajos asociados con una lista de cambios, haga algo como esto (no probado):
p4 fixes -c <changenum> | p4 -x - job -d
Puede usar el siguiente script de DOS para analizar el resultado de las correcciones de p4 y luego eliminar las correcciones y trabajos:
set users_filename =% 1
para / F " tokens = 1,5 delims = " %% i en (% users_filename%) do (
p4 fix -d -c %% j %% i
p4 trabajo -d %% i
)