3. Clientes

El sistema Perforce proporciona acceso al repositorio y mantiene el estado del cliente de forma individualizada. En términos de Perforce, un cliente es una especificación que asocia [1] ficheros y directorios desde el repositorio hasta la máquina local. Cada usuario puede poseer varios clientes, y cada cliente puede acceder a distintas partes del repositorio (incluso a varias partes que se solapan entre sí). El cliente también especifica el directorio raíz del árbol de directorios sobre el que se realiza la asociación y la máquina donde efectivamente está dicho árbol. Es por esto que si pretende trabajar en varias máquinas tendrá que usar varios clientes.

Puede acceder a los clientes mediante p4 client. Si se ejecuta esta orden sin argumentos aparece una plantilla del cliente dentro de un editor, permitiendo de esta forma crear un nuevo cliente. Los campos importantes de esta plantilla se explican a continuación:

Client:

Este es el nombre de la especificación del cliente. Puede ser cualquier cosa, pero debe ser una cadena única dentro del servidor Perforce. Suelen usarse nombres como nombre_de_usuario_nombre_de_máquina, que permite identificar fácilmente a los clientes cuando se navega por ellos. Por defecto hay ya un nombre, que se corresponde con el nombre de la máquina.

Description:

Este campo suele consistir en un breve texto descriptivo que ayude a identificar al cliente.

Root:

Se trata del directorio local que actuará como directorio raíz para todos los ficheros dentro de la asociación en el cliente. Debe ser una localización única dentro del sistema de ficheros que no se solape con otros ficheros o clientes Perforce.

Options:

La mayoría de las opciones por defecto son correctas y válidas para todo el mundo, aunque suele ser recomendable comprobar que estén activadas las opciones compress y rmdir y que no tienen el prefijo no. Los detalles de cada una de estas opciones están en la documentación de Perforce.

LineEnd:

Este parámetro gestiona las conversiones CR-LF y debe dejarse tal cual salvo que sus necesidades específicas requieran cambiarlo.

View:

Aquí es donde están las asociaciones de ficheros servidor-a-local. El valor por defecto es:

//depot/... //cliente/...

Esto asociará por completo el repositorio Perforce al directorio Root del cliente. NO USE ESTE VALOR POR DEFECTO. El repositorio de FreeBSD es enorme e intentar asociarlo y sincronizarse con dicho repositorio tardará muchísimo y consumirá enormes recursos. Asocie sólamente la sección del repositorio en la que va a trabajar. Por ejemplo, hay un árbol para el proyecto smpng en //depot/projects/smpng. Una asociación en ese caso sería algo así:

//depot/projects/smpng/... //cliente/...

Los ... deben tomarse literalmente tal cual están. Es un dialecto de Perforce para decir “este directorio y todos los ficheros y directorios por debajo de él.”.

Una “vista” (View) puede contener múltiples asociaciones. Vamos a suponer que quiere asociar los árboles de SMPng y de NFS. Su “View” sería algo así:

//depot/projects/smpng/... //cliente/smpng/...
	  //depot/projects/nfs/... //cliente/nfs/...

Recuerde que cliente es el nombre del cliente que se especificó en la sección Client, pero en la sección View además se utiliza para resolver al directorio especificado en la sección Root.

También tenga en cuenta que el mismo fichero o directorio no puede asociarse más de una vez dentro de una única vista. La orden del siguiente ejemplo no es correcta y producirá resultados imprevistos:

//depot/projects/smpng/... //cliente/smpng-esto/...
	  //depot/projects/smpng/... //cliente/smpng-lo_otro/...

Las “vistas” son la parte compleja del proceso de aprendizaje de Perforce, así que no tenga miedo de hacer tantas preguntas como estime oportunas.

Puede listar los clientes existentes mediante p4 clients. Puede listarlos sin que sufran modificaciones mediante p4 client -o nombre_cliente.

Siempre que se interactue con ficheros en Perforce la variable de entorno P4CLIENT debe contener al nombre del cliente que se está utilizando, es decir:

% export P4CLIENT=nombredemicliente

Fíjese en que las asociaciones del cliente en el repositorio no son exclusivos; varios clientes pueden estar asociados en la misma zona del respositorio. Esto permite el trabajo en equipo sobre el mismo código, permitiendo que distintas personas accedan y modifiquen la misma parte del respositorio.

Notas

[1]

Este término, que también puede traducirse como asociar o asignar, suele aparecer en la jerga de la administración de sistemas como “mapear”.

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.