[Mercurial.2] Mercurial: come creare il proprio repository
Ok, vediamo di entrare nel vivo del discorso. Creiamo il nostro repository Mercurial. Innanzitutto, cerchiamo di capire cos’è esattamente un repository Mercurial, altrimenti non si va da nessuna parte.
Un repository Mercurial è il repository dei nostri sorgenti, compresa l’intera storia di tutti i commit fatti. Semplice. E’ paragonabile solo in minima parte al Team Project di TFS (in realtà il Team Project contiene MOLTO di più).
Supponiamo per semplicità di lavorare da soli, e quindi di non dover scambiare con nessuno i nostri sorgenti. Anzi, vi dirò di più: evitiamo per adesso di dover per forza utilizzare Visual Studio: creiamo un repository qualsiasi, contenente semplicemente un file di testo che vogliamo versionare. Se avete installato Mercurial + TortoiseHG come indicato nel mio post precedente, non vi sarà difficile seguire i seguenti passaggi:
- Andate in una qualsiasi cartella del vostro PC (X:Documenti)
- Create una cartella (X:DocumentiNostroRepository)
- Cliccate col destro sulla cartella appena creata, andate su TortoiseHG e poi su Create repository here
- Appare il tool di TortoiseHG: non toccate nulla e cliccate semplicemente su Create
Ed il gioco è fatto. L’icona della cartella appare con un tick verde, ad indicare che il contenuto della cartella è sincronizzato. Bella fatica: è vuota!
A questo punto dentro la directory X:DocumentiNostroRepository possiamo creare o copiare tutto quello che vogliamo: ovviamente, il contenuto finirà nel repository.
- Creiamo un file prova.txt dentro X:DocumentiNostroRepository
- Scriveteci dentro qualcosa
- Clicchiamo col destro sulla cartella, andiamo su TortoiseHG e poi su Add Files
- Appare una piccola finestrella che elenca due files: .hgignore ed il nostro file di testo
- Lasciamoli selezionati e clicchiamo su Add
- Clicchiamo col destro sulla cartella e poi su HG Commit
Appare un tool che vi permette – guarda un po’ – di fare il commit. E qui c’è la grande differenza tra Mercurial e TFS:
In Mercurial l’operazione di commit è effettuata SEMPRE e COMUNQUE sul proprio repository locale. In TFS il commit è fatto verso il server. In entrambi i casi si parla di changeset (set di files inviati e marchiati con lo stesso numero di revisione).
Quindi, facciamo commit e di fatto aggiorniamo il nostro repository locale. Una cosa importante ed utile da sapere è che la cartella che fa da repository (X:DocumentiNostroRepository) è trasportabile da un PC all’altro e da una posizione all’altra. Il repository di fatto è tutto contenuto nella cartella stessa, e quindi si può farne il backup in modo semplice, posso mandarlo ad un collega in modo semplice, etc. etc. Non c’è un database, non ci sono assolutamente controindicazioni di alcun tipo.
Il repository – ricordiamolo – contiene i sorgenti e tutta la loro storia. Seguite questi passaggi tutte le volte che volete:
- Aprite il file di testo, modificatelo e salvatelo
- Committate
Come dicevo, ripetete a piacimento. Al termine, cliccando col destro sulla cartella e poi su HG Repository Explorer, vi si apre un tool che permette di “esplorare” e di vedere tutti i commit fatti su questo repository: per ogni changeset potete vedere i files modificati, e quali righe sono state modificate. Nel nostro esempio di questi post la questione è semplice, perchè il file è uno solo, ma se lo scenario è più complesso (e lo vedremo tra qualche post) il comportamento è il medesimo.
Per adesso chiudiamo qua. Vi lascio un po’ di link interessanti.
Installare Mercurial (dal sito ufficiale)
Learning Mercurial in Workflows
Al prossimo appuntamento!