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