¿Puedes compartir una especificación de cliente en Perforce?

Parece bastante inútil que todos creen el mismo cliente para un proyecto en Perforce, entonces, ¿hay alguien que pueda crear un cliente "público" en Perforce desde donde todos puedan sincronizar?

Editar : me refería a clientes como los que creaste en Perforce a partir de una especificación de cliente

Es más fácil entender la architecture, creo, si usa el término 'espacio de trabajo' en lugar de 'cliente'. Las aplicaciones Perforce administran los files en un área designada de su disco local, llamado su espacio de trabajo. Como su nombre lo indica, su área de trabajo es donde hace la mayor parte de su trabajo. Puede tener más de un espacio de trabajo de cliente, incluso en la misma estación de trabajo.

Como dos usuarios diferentes generalmente trabajan de forma independiente, en estaciones de trabajo separadas o computadoras portátiles, cada uno necesita su propia copy del código, y cada uno necesita su propio espacio de trabajo para poder controlar cuándo se sincronizan con los cambios en el server.

Si usted y yo intentamos compartir una sola copy del código, en una única estación de trabajo, nos encontraremos rápidamente confundidos acerca de cuáles son los cambios de quién; es mucho más fácil para nosotros trabajar de forma independiente y fusionar nuestros cambios como envíos por separado al server.

Si el problema en su caso es que las definiciones de los clientes son complejas, con definiciones de vista muy complejas, entonces puede investigar la function 'plantilla cliente': configure un solo cliente maestro con la vista y las opciones que prefiera, y luego su otros usuarios pueden usar 'client -t' para crear definiciones de espacio de trabajo que copyn la vista y los detalles de las opciones del cliente de la plantilla.

Es posible hacer esto, pero no es aconsejable. Dado que Perforce mantiene un logging del lado del server de los files que se sincronizan con cada cliente, puede encontrarse en una situación en la que:

  1. El usuario Fnetworking sincroniza el uso del cliente compartido y obtiene un nuevo set de files.
  2. Antes de confirmar cualquier cambio, el usuario Jim sincroniza el uso del cliente compartido y no obtiene nada porque el server de Perforce considera que el cliente ya tiene un set de files actualizado.

Jim podría sortear esto usando "p4 sync -f", lo que obligará a sincronizar todos los files más recientes con su área de trabajo, pero eso es un poco complicado en cuanto a la forma en que Perforce está diseñado para ser utilizado.

Los clientes de Perforce son muy livianos en términos de los resources que utilizan en el server, por lo que es mejor no tener clientes compartidos.

Traté de encontrar una explicación más completa de por qué los clientes no deben compartirse en la documentation en línea de Perforce, pero no es muy útil. El libro "Practical Perforce" tiene la mejor visión general que he visto si tienes una copy.

Use una plantilla de espacio de trabajo como Bryan mencionó, o considere usar transmisiones. En el marco de flujos, define la vista de flujo (composition) una vez y los espacios de trabajo se generan automáticamente.

p4 sync -f es demasiado lento. ¡Porque en primer lugar eliminará todos los files en su localidad y luego volverá a cargar los files desde el depósito central! hay una manera difícil de hacer. Es para crear una list de contactos y sincronizar, cuando quieras hacer sync -f. detalles es 1, obtenga el clienteespec, 2, guárdelo en local. 3, elimine el cliente 4, cree un mismo cliente usando el cliente especificado salvado. Por lo tanto, ahorramos time para eliminar files locales.