Tutorial - esaminare la cronologia di un repository

A questo punto, dopo aver appreso dalla sezione TutorialCopia per copiare un repository; la nostra copia in locale si chiama my-hello.

Diamo un'occhiata alla cronologia di questo repository. Per farlo usiamo il comando log. Questo stampa un sommario di ciascuna modifica effettuata nel repository, mostrati in ordine dal più recente al più vecchio.

$ cd my-hello
$ hg log
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

changeset:   0:0a04b987be5a
user:        mpm@selenic.com
date:        Fri Aug 26 01:20:50 2005 -0700
summary:     Create a standard "hello, world" program

Queste linee di output necessitano di alcune spiegazioni.

viene inserito dal creatore del changeset al momento della creazione, per aiutare se stessi e gli altri a capire il senso del changeset(cfr. anche ChangeSetComments).

Possiamo ottenre una cronologia più dettagliata chiedendo un verbose output con l'opzione -v, o l'opzione globale --debug:

$ hg log -v
changeset:   1:82e55d328c8ca4ee16520036c0aaace03a5beb65
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files:       Makefile
description:
Create a makefile

(...)

$ hg log --debug
manifest:    1:0c7c1d435e6703e03ac6634a7c32da3a082d1600
changeset:   1:82e55d328c8ca4ee16520036c0aaace03a5beb65
tag:         tip
parent:      0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9
parent:      -1:0000000000000000000000000000000000000000
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files+:      Makefile
description:
Create a makefile

(...)

Il "verbose output" contiene alcuni campi in più rispetto all'output di default.

L'output --debug aggiunge i seguenti campi al verbose output (cfr. DebuggingFeatures):

Il comando log si arricchisce dell'opzione -r nel caso si voglia analizzare un changeset in particolare.

$ hg log -r1
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

<!> L'opzione -r al momento supporta una sintassi molto flessibile per selezionare una certa quantità di changeset. Ad ogni modo, a causa del numero limitato di changeset disponibili nel nostro repository d'esempio, non è possibile mostrare una buona dimostrazione. Consultare le pagine relative sul manuale (cfr. manpage) per maggiori informazioni.

Il comando log possiede anche un'opzione -p per mostrare le patches associate ad un changeset: