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.
[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>.