PDF de programación - Perforce en el contexto del desarrollo de FreeBSD

Imágen de pdf Perforce en el contexto del desarrollo de FreeBSD

Perforce en el contexto del desarrollo de FreeBSDgráfica de visualizaciones

Publicado el 8 de Marzo del 2019
448 visualizaciones desde el 8 de Marzo del 2019
178,1 KB
10 paginas
Creado hace 10a (12/11/2013)
Perforce en el contexto
del desarrollo de FreeBSD

Scott Long <[email protected]>

Revisión: 43184

FreeBSD is a registered trademark of the FreeBSD Foundation.
CVSup is a registered trademark of John D. Polstra.
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in this document, and the FreeBSD
Project was aware of the trademark claim, the designations have been followed by the “™” or
the “®” symbol.

2013-11-13 07:52:45 por hrs.

Tabla de contenidos
1. Introducción ........................................................................................................................... 1
2. Los comienzos ......................................................................................................................... 2
3. Clientes ................................................................................................................................. 2
4. Sincronizaciones ...................................................................................................................... 4
5. Ramas ................................................................................................................................... 4
6. Integraciones .......................................................................................................................... 5
7. Aplicación de cambios en el repositorio ........................................................................................ 6
8. Edición .................................................................................................................................. 6
9. Cambios, descripciones e historial ............................................................................................... 7
10. “dis” .................................................................................................................................. 7
11. Añadir o eliminar ficheros ........................................................................................................ 8
12. El trabajo con “dis” ............................................................................................................... 8
13. Cambiar nombres de ficheros .................................................................................................... 9
14. Interacciones entre el CVS de FreeBSD y Perforce .......................................................................... 9
15. Funcionamiento sin conexión de red .......................................................................................... 9
16. Consideraciones finales para el “Google Summer of Code” .............................................................. 10

1. Introducción
El proyecto FreeBSD utiliza el sistema de control de versiones Perforce para gestionar proyectos experimentales
que todavía no están listos para ser incluidos en el repositorio principal de CVS.

1.1. Disponibilidad, documentación y recursos
Aunque que el producto Perforce es un producto comercial, el software cliente que se encarga de interactuar con el
servidor se distribuye libremente. Pueden descargarse versiones binarias del mismo desde el sitio web de Perforce:
http://www.perforce.com/perforce/loadprog.html .
Existe un cliente gráfico, pero la mayoría de la gente utiliza la aplicación de línea de órdenes, p4. Este documento
trata sobre el uso de dicha herramienta para la línea de órdenes.
En http://www.perforce.com/perforce/technical.html encontrará documentación “online” detallada.
Se recomienda encarecidamente leer la “guía de usuario” y el “manual de Perforce”. La aplicación p4 dispone de
una extensa ayuda “online” a la que puede accederse mediante la orden p4 help.

Los comienzos

El servidor FreeBSD Perforce se encuentra en perforce.freebsd.org, puerto 1666. Puede navegar por el reposi-
torio desde http://perforce.freebsd.org . Ciertas partes del repositorio se exportan automáticamente hacia di-
versos servidores CVSup.

2. Los comienzos
El primer paso para utilizar Perforce consiste en obtener una cuenta en el servidor. Si ya dispone de una cuenta en
FreeBSD.org entre en freefall y ejecute el siguiente comando utilizando una contraseña distinta del acceso de
su FreeBSD o de cualquier otro mecanismo de autenticación SSH:
% /usr/local/bin/p4newuser
Por supuesto si no tiene una cuenta en FreeBSD.org necesitará coordinarse con su mentor.
El siguiente paso consiste en establecer las variables de entorno que necesita p4 y en verificar que puede conectarse
al servidor. Es necesario especificar la variable P4PORT para realizar cualquier operación. Dicha variable indica el
servidor Perforce con el que se va a trabajar. En el caso del Proyecto FreeBSD, créela con el siguiente valor:
% export P4PORT=perforce.freebsd.org:1666

Nota
Los usuarios con acceso “shell” al “cluster” FreeBSD.org pueden querer encapsular el proto-
colo cliente-servidor de Perforce a través de un túnel SSH, en cuyo caso la variable de arriba
debería establecerse al valor localhost.

El servidor FreeBSD también necesita que se establezcan las variables P4PASSWD y P4USER. Utilice el nombre de
usuario y la contraseña anteriores del siguiente modo:
% export P4USER=nombre_de_usuario
% export P4PASSWD=contraseña
Compruebe que todo funciona mediante la siguiente orden:
% p4 info
A resultas de esta orden debería ver información referente al servidor. Si no es así compruebe que la variable
P4PORT tiene el valor correcto.

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:
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”.

2

Perforce en el contexto del desarrollo de FreeBSD

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 per-
mite 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 recomen-
dable 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 DE-
FECTO. 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 .

3

Sincronizaciones

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 mis
  • Links de descarga
http://lwp-l.com/pdf15458

Comentarios de: Perforce en el contexto del desarrollo de FreeBSD (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad