¿Cómo puedo eliminar rápida y fácilmente todos los trabajos de Perforce que se adjuntan a las listas de cambios?

StackOverflow https://stackoverflow.com/questions/222348

  •  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)?

¿Fue útil?

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

)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top