Cómo establecer valores predeterminados para las especificaciones del cliente forzadas

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

  •  13-09-2020
  •  | 
  •  

Pregunta

Estoy intentando descubrir cómo cambiar el conjunto predeterminado de opciones de especificaciones del cliente y opciones de envío.

set P4CLIENT=my_new_client_1
p4 client

Me da la siguiente especificación predeterminada:

Client: my_new_client_1
...
Options:    noallwrite noclobber nocompress unlocked nomodtime normdir

SubmitOptions:  submitunchanged
...

Ahora en mi máquina quiero usar siempre revertunchanged, rmdir por ejemplo, pero parece que necesito recordar configurar esto manualmente cada vez que creo un nuevo cliente.

¿Hay alguna manera de lograr esto?p4 set parece afectar solo las cosas que pueden configurar las variables de entorno.

¿Fue útil?

Solución

No puede cambiar la plantilla de especificación de cliente predeterminada (a menos que sea el administrador del sistema de perforce), pero puede configurar y usar su propia plantilla.Primero crearía un cliente ficticio con una especificación de cliente que tiene los valores que desea:

Client: my_template_client
...
Options:    noallwrite noclobber nocompress unlocked nomodtime rmdir

SubmitOptions:  revertunchanged
...

Luego, simplemente especifique que el cliente ficticio debe usarse como plantilla al crear nuevos clientes:

p4 client -t my_template_client my_new_client_1

Otros consejos

La primera respuesta aquí fue incorrecta:

Puede crear un PETPEC de CLIENTS predeterminado en perforce usando desencadenantes.

Esencialmente, crea un script que se ejecuta en el servidor y se ejecuta cada vez que alguien hace un formulario en el cliente. Este script tendría que verificar para ver si el ClientePec ya existe, y luego sustituye un "predeterminado" sensible si no lo hace (si es un nuevo ClientePec).

Tenga en cuenta que esto funciona bien y bien, y está incluso en la Guía P4 SYSADMIN (¡el ejemplo exacto que está buscando está ahí!) Pero puede ser un poco difícil de depurar, ya que los desencadenantes se ejecutan en el servidor, no En el cliente!

manual: http://www.perforce.com/perforce/r10. 1 / manuales / p4sag / 06_scripting.html

Ejemplo de caso específico: http://www.perforce.com/perforce/ R10.1 / Manuales / P4SAG / 06_SCRIPTING.HTML # 1057213

El paquete de implementación de servidor Perforce (SDP), una implementación de referencia con las mejores prácticas para operar un servidor Perforce Helix Core, incluye activadores de muestra exactamente para este propósito.Ver:

Utilizando el p4 client -t <template_client> es útil y es algo que un usuario normal puede hacer, y también tiene un equivalente P4V (interfaz gráfica de usuario).Sólo los superusuarios de Perforce pueden manipular los disparadores.

Hay otro truco que un superusuario debe tener en cuenta:Pueden designar una especificación de cliente para usarla como predeterminada si el usuario no especifica una con -t <template_client>.Eso se puede hacer configurando el configurable plantilla.cliente.Ver: https://www.perforce.com/manuals/cmdref/Content/CmdRef/configurables.configurables.html#template.client

Otra sugerencia:Sugiero cambiar el valor predeterminado de submitunchanged a leaveunchanged en vez de revertunchanged (como en los activadores de muestra anteriores).Usando leaveunchanged es mejor porque, si aún deseas desproteger el archivo, usa leaveunchanged en vez de revertunchanged le evita tener que navegar hasta el archivo para comprobarlo nuevamente.Es algo pequeño, pero es óptimo dejarlo sin cambios.Si desea revertir el archivo no modificado, es un poco más fácil revertirlo que volver a realizar el check-out, lo que podría requerir más navegación o escritura.

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