Tutorial - Copiare un repository
(Questa pagina è la parte 2 di 9 delle serie ItalianTutorial. La parte precedente è TutorialInstallazione, la prossima parte è TutorialCronologia)
Avete già seguito il TutorialInstallazione per installare Mercurial? Bene!
In Mercurial tutte le operazioni si eseguono all'interno di un repository. Un repository è una directory che contiene tutto il codice sorgente del quale vogliamo registrare una cronologia.
Il modo più semplice per iniziare con Mercurial è usare un repository che già contiene alcuni file e cronologie.
Per fare questo si usa il comando clone. Questo produce una copia di un repository; esso realizza una copia esatta di un'altro repository in modo tale da avere la propria versione locale sulla quale lavorare.
Copiamo un piccolo repository "hello world" ospitato su selenic.com:
$ hg clone http://www.selenic.com/repo/hello my-hello
Se tutto è andato a buon fine, il comando clone stampa questo (Mercurial 1.0):
requesting all changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Ora dovremmo trovare una directory chiamata my-hello nella directory corrente:
$ ls my-hello
All'interno della directory my-hello, dovremmo trovare alcuni file:
$ ls my-hello Makefile hello.c
Questi file sono una copia esatta di quelli presenti nel repository appena clonato.
N.B.: in Mercurial, ciascun repository è autocontenuto. Quando si copia un repository, il nuovo repository diventa una copia esatta di quello esistente al momento della copia, tuttavia i cambiamenti successivi non saranno disponibili a meno che non vengano esplicitamente trasferiti nel repository per mezzo dei comandi pull o push.
In modo predefinito, hg clone verifica (vedere update) la tipmost revisione del repository nella working directory. Per vedere quale revisione è attualmente sotto osservazione, usare il comando parents:
$ cd my-hello $ hg parents changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile
A questo punto, si può passare ad esaminare la cronologia del nuovo repository, andando alla sezione TutorialCronologia.