[SpanishTutorial] - examinando la historia del repositorio
En este punto hemos seguido SpanishTutorialClone para clonar un repositorio (["Repository"]) y nuestra copia local se llama hola-mio.
Echemos un vistazo a la historia del repositorio. Para hacer ésto, se utiliza el comando log. Éste imprime un resumen de cada evento que ha ocurrido en el repositorio, comenzando con el evento más reciente y mostrando luego hacia atrás en el tiempo.
$ cd hola-mio $ hg log changeset: 2:bd2fb7137c85cd5e6b04db4c72a45699e0d90ea9 tag: tip user: bos@camp4.serpentine.com date: Wed Jun 29 12:04:20 2005 summary: Add a helpful, descriptive comment to the makefile. changeset: 1:4a17053ec93dd51ea37340f639db457c42065da6 user: bos@camp4.serpentine.com date: Wed Jun 29 12:03:45 2005 summary: Add description to hello.c. changeset: 0:5931063e4b0fb17fc4625447b69296356ca6cdfc user: bos@camp4.serpentine.com date: Wed Jun 29 12:02:36 2005 summary: Add hello, world.
Estas líneas de salida se comentan a continuación.
* Cada párrafo describe un ChangeSet en particular. Un ChangeSet (conjunto de cambios) es una modificación a uno o más ficheros, agrupados como una unidad lógica.
* En el caso mostrado arriba, podemos ver que la historia del repositorio consiste de cuatro ["ChangeSet"]s.
* changeset identifica al ChangeSet.
El primer número antes de los dos puntos es un número de revisión (RevisionNumber); se trata de una abreviatura que se puede usar localmente para identificar al ChangeSet. Sólo es válido dentro de este repositorio.
La larga cadena hexadecimal que sigue a los dos puntos es el ChangeSetID; éste identifica de manera única al ChangeSet, y es el mismo en todos los repositorios que contienen a este ChangeSet. Si estas discutiendo acerca de un ChangeSet con alguien, utiliza el ChangeSetID para identificarlo, y no el RevisionNumber.
* tag es un ["Tag"] o marca, es decir, un nombre simbólico arbitrario para el ChangeSet.
Se pueden asignar uno o más ["Tag"]s a cualquier ChangeSet. Naturalemente, no todos los ["ChangeSet"]s tendrán ["Tag"]s asociados con ellos, así que la línea tag no siempre estará presente.
Hay un ["Tag"] especial, llamado tip que siempre identifica al ["Tip"], que es el ChangeSet más reciente del repositorio. Si luego se crea otro ChangeSet (como haremos más adelante), pasaría a ser el ["Tip"].
* user identifica a la persona que creó el ChangeSet. Se trata de una cadena de texto de formato libre; normalmente contiene una dirección de e-mail, y a veces también el nombre de una persona.
* date describe cuándo fue creado el ChangeSet. Estas fechas se muestran en el horario local del usuario, sin importar en que zona horaria estaba el creador original del ChangeSet.
* summary muestra la primera línea de la descripción del ChangeSet. Esta descripción la introdujo el creador del ChangeSet en el momento de su creación, para ayudar a otros y a él mismo a entender el propósito de los cambios introducidos en el ChangeSet.
Se puede obtener una información más detallada de la historia solicitando una salida más amplia así:
$ hg -v log revision: 1:1c18e981f8b0bd07d2b3343825486c010a82ad6a changeset: 1:4a17053ec93dd51ea37340f639db457c42065da6 user: bos@camp4.serpentine.com date: Wed Jun 29 12:03:45 2005 files: hello.c description: Add description to hello.c. ...
La salida en formato amplio contiene unos pocos de campos más que la salida por defecto.
* revision es un campo que se puede ignorar sin problemas.
* files lista los ficheros modificados en este ChangeSet.
* description contiene la descripción completa del ChangeSet (multi-línea), en lugar de mostrar sólo la primera línea.
Ahora que tenemos una leve idea de lo que ha ocurrido, pasemos ha realizar algunos cambios, ¡seguimos en SpanishTutorialFirstChange!