Technology Experience
Senza categoria

[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:

  1. Andate in una qualsiasi cartella del vostro PC (X:Documenti)
  2. Create una cartella (X:DocumentiNostroRepository)
  3. Cliccate col destro sulla cartella appena creata, andate su TortoiseHG e poi su Create repository here
  4. 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.

  1. Creiamo un file prova.txt dentro X:DocumentiNostroRepository
  2. Scriveteci dentro qualcosa
  3. Clicchiamo col destro sulla cartella, andiamo su TortoiseHG e poi su Add Files
  4. Appare una piccola finestrella che elenca due files: .hgignore ed il nostro file di testo
  5. Lasciamoli selezionati e clicchiamo su Add
  6. 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:

  1. Aprite il file di testo, modificatelo e salvatelo
  2. 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.

Mercurial su Wikipedia

Installare Mercurial (dal sito ufficiale)

Learning Mercurial in Workflows

Al prossimo appuntamento!

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.