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 ChangeSets.
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 Tags a cualquier ChangeSet. Naturalemente, no todos los ChangeSets tendrán Tags 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!