Existen dos formas de generar “diffs” de ficheros en
Perforce, bien entre cambios locales
que todavía no se han entregado o bien entre dos
árboles (o dentro de una misma rama) del
“depósito”. Estos “diffs”
se generan mediante órdenes distintas,
diff
y diff2
:
Ese comando genera un “diff” entre los cambios
locales y los cambios de ficheros en estado de edición. Los
parámetros -du
y -dc
permiten crear “diffs” unificados o contextuales,
respectivamente. También se puede establecer la variable
P4DIFF para que apunte a un
“diff” local. Le recomendamos encarecidamente
usar esta orden para revisar sus cambios antes de
aplicarlos en el servidor.
Esta orden crea un “diffs” entre ficheros
dados en el “depósito”, o entre
ficheros especificados en una especificación de rama. La
operación tiene lugar en el servidor, así que
la variable P4DIFF no surte ningún efecto,
aunque las opciones -du
y
-dc
sí pueden usarse. Las dos formas de
esta orden son:
% p4 diff2 -b nombrederama
y
% p4 diff2 //depot/ruta1 //depot/ruta2
En todos los casos los “diffs” se muestran en la salida
estándar. Por desgracia Perforce
usa un formato de “diffs” que resulta ser ligeramente
incompatible con las herramientas Unix estándar
diff y patch. La utilización
de la variable P4DIFF para que apunte al verdadero
diff(1) puede paliar este problema, o al menos en ciertos casos,
puesto sólo funciona con la orden
p4 diff. La salida de
diff2
debe procesarse para que sea de alguna
utilidad (la opción -u
de
diff2
producirá “diffs”
unificados que serán más o menos
compatibles, pero no esto no incluye ficheros
nuevos o borrados. Este “script” puede serle
de utilidad para este “proceso necesario”:
http://people.freebsd.org/~scottl/awkdiff.
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>.