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: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 [:Clone: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:pull] o [:Push:push].

In modo predefinito, hg clone verifica (vedere [:Update]) la [:Tip:tip]most [:Revision:revisione] del repository nella [:WorkingDirectory:working directory]. Per vedere quale revisione è attualmente sotto osservazione, usare il comando [:Parent: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.


CategoryItalian