2012-09-06 10 views

Respuesta

42

Ejecute p4 opened para ver todos sus archivos abiertos y ejecute p4 revert para revertirlos.

Luego ejecute p4 changes -c your-client-name -s pending para ver todas sus listas de cambios pendientes. Como en el primer paso revirtió todos sus archivos abiertos, estas listas de cambios estarán vacías. Ejecute p4 change -d change-number para eliminar cada lista de cambios pendiente vacía.

Luego puede ejecutar p4 client -d para eliminar su cliente.

+4

Para revertir y eliminar una lista de cambios pendientes, prefiero esta secuencia: 'cambios p4 -u joe' a la lista de mis listas de cambios pendientes; 'p4 revertir -c 12345 // ...' para revertir todos los archivos en mi lista de cambios 12345 pendiente (por ejemplo); 'p4 change -d 12345' para eliminar la lista de cambios ahora vacía. HTH. – Jeffro

+0

@Jeffro su solución, 'p4 revert -c CLN // ...' ahorra tiempo para revertir los archivos abiertos uno por uno. – VicX

41

Por qué son solo 11 clics en P4V, a través de una secuencia arbitraria de elementos de menú.

  1. haga clic en el botón derecho en la lista de cambios
  2. eliminar archivos aplazados
  3. 'Sí'
  4. haga clic en el botón derecho en la lista de cambios
  5. Retire todos los puestos de trabajo
  6. haga clic en el botón derecho en la lista de cambios
  7. archivos Revert
  8. 'Revertir'
  9. Haga clic derecho sobre la lista de cambios
  10. supresión pendiente de lista de cambios
  11. 'Sí'

Enviemos Perforce a la escuela usabilidad.

9

Esto es lo que hice para vaciar mi conjunto de cambios por defecto, que tenía una gran cantidad de archivos desprotegido para editar:

p4 opened | sed 's/#.*$//g' | xargs -iF p4 revert F 

Esto cortará la parte comentario del nombre del archivo producido por p4 opened y el tubo de la nombre de archivo a p4 revert. Después de eso no tenía nada pendiente y p4 changes -c my-client-name -s pending no produce nada. Si tienes un gran conjunto de cambios, esto llevará un tiempo.

+0

Me encanta esto ... ¡Gracias, hombre! –

+0

No hay necesidad de 'xargs' aquí (y especialmente no hay necesidad de la opción' -i', que no es posible de usar y está desaprobada incluso en Linux). Use 'p4 -x -' en su lugar (vea' p4 help use'). Además, para evitar la espera cuando tienes un gran conjunto de cambios, usa la opción '-k' para' p4 revertir'. –

7

Aquí hay un procedimiento programable para eliminar un cliente Perforce. Use con cuidado: ¡esto borra todo su trabajo en progreso en el cliente!

  1. Revertir todos los archivos modificados en este cliente.

    p4 -c $CLIENT revert -k //... 
    

    Nota el uso de la opción -k, que "marca el archivo como revertido en los metadatos del servidor sin alterar los archivos en el espacio de trabajo del cliente". Como vamos a eliminar el cliente más adelante, no nos importa actualizar el espacio de trabajo del cliente. Esto acelera las cosas si tiene muchos archivos abiertos.

  2. Elimine todos los archivos archivados de los cambios pendientes asociados con el cliente.

    p4 changes -s shelved -c $CLIENT | cut -d' ' -f2 | 
    while read CHANGE; do p4 shelve -c $CHANGE -d //...; done 
    

    Si nunca usa p4 shelve puede omitir este paso.

  3. Todos los cambios pendientes asociados con el cliente ahora están vacíos. Borra los.

    p4 changes -s pending -c $CLIENT | cut -d' ' -f2 | p4 -b 1 -x - change -d 
    
  4. Ahora no hay cambios pendientes asociados con el cliente. Eliminar el cliente

    p4 client -d $CLIENT 
    

(Este proceso debería ser mucho más fácil! En ​​particular, no parece haber ninguna buena razón por la que tenemos que eliminar los archivos dejados de lado asociados a un cliente antes de eliminar el cliente. Si usted se encuentra luchando con este , hacer contacto con el soporte de Perforce y sugieren que se hace más simple.)

+0

He archivado cambios en otro host (después de cambiar de computadora). Para poder hacer el paso 2, tuve que cambiar el host del espacio de trabajo a mi actual. – Pascal

+0

La ayuda sugiere que puede usar la opción '-f' para forzar la eliminación a pesar de la falta de coincidencia. (Sin embargo, necesitará permiso de "administrador") –

+0

La pregunta fue explícitamente diciendo que no hay derechos de administrador disponibles. Supongo que ese es el caso para la mayoría de las personas que hacen trabajo profesional (= que se les paga) con fuerza. – Pascal

5

escribió este guión llamado p4-delete-client para borrar un cliente P4 (que tiene listas de cambios & otros problemas).
Tiene las siguientes características:

  • elimina automáticamente listas de cambios (Vuelve a la espera de & elimina archivado)
  • correcciones de nombre de host (si difiere de la que el cliente se creó el)
  • desbloquea el cliente si está bloqueado
  • elimina el cliente
  • elimina archivos asociados (se puede configurar para que no de argumentos)

Tenga en cuenta que la secuencia de comandos se basa en otras secuencias de comandos en el repo.

2

tratar esos pasos:

  1. 1.Haga clic en la lista de cambios

  2. Elija 'cambiar la propiedad'

  3. En el cuadro de espacio de trabajo seleccione Área de trabajo ya existente y haga clic en OK

  4. haga clic derecho en la lista de cambios y elija eliminar y que aceptar.
0

Esto sólo funcionó para mí en P4V para restablecer la lista de cambios por defecto:

  1. haga clic en el botón derecho en la lista de cambios por defecto y seleccione " 'por defecto' Editar Pendiente Lista de cambios"

  2. Haga clic en el botón en la parte inferior derecha "Guardar como lista de cambios numerados"

  3. Haga clic derecho en la nueva lista de cambios y elija "Eliminar lista de cambios XXX"

También puede hacer clic derecho en la nueva lista de cambios para revertir los archivos para lo que necesite hacer, que no está disponible como una opción en la lista de cambios predeterminada.

1

Todos los archivos deben revertirse antes de que la lista de cambios pueda eliminarse.

dos etapas por medio del P4V (versión 2013.4):

  1. revertir todos los archivos.

    Right click the pending changelist, and then choose "Revert Files"

  2. Borrar la lista de cambios.

    Right click the changelist, and then choose "Delete Pending Changelist 'XXXXXX'"

Cuestiones relacionadas