Indice dei contenuti
Abbiamo già avuto modo di parlare di Mercurial, noto anche come HG, uno dei migliori source-control manager disponibili per Windows. Per ulteriori informazioni sul prodotto rimandiamo alla pagina Wiki relativa e/o al sito ufficiale del progetto: in questo articolo spiegheremo brevemente come configurare Visual Studio 2015 per poterlo utilizzare come valida alternativa di GIT, SVN o dell'ormai più che obsoleto Visual SourceSafe.
Installare TortoiseHg
La prima cosa da fare è installare TortoiseHg, un software client freeware che consente di gestire repository basati su Mercurial sulle piattaforme Windows più diffuse, comprese Windows Server 2012 e Windows 10. Il pacchetto di installazione, disponibile sia per le build a 32-bit che per quelle a 64-bit di Windows, è scaricabile gratuitamente sul sito ufficiale del progetto.
Una volta installato, avremo la possibilità di gestire Mercurial in due modi distinti:
- Attraverso la GUI di gestione, anche detta TortoiseHg Workbench, accessibile facendo click sull'icona TortoiseHg che troveremo all'interno del menu Start (fig. 1).
- Mediante il menu contestuale accessibile attraverso qualsiasi istanza dello strumento File Explorer di Windows (fig. 2).
Entrambi possono essere particolarmente efficaci a seconda della situazione specifica che siamo chiamati ad affrontare. Ad esempio, per effettuare un Clone di un progetto esistente, il menu contestuale consentirà di svolgere l'operazione in modo più comodo: basterà fare click con il tasto destro del mouse sulla cartella di destinazione, selezionare TortoiseHg > Clone... ed impostare i parametri del caso per dare inizio al download dei file del repository. Viceversa, quando abbiamo bisogno di effettuare qualche modifica alla configurazione del programma, il TortoiseHg Workbench consentirà certamente di svolgere questo tipo di operazione grazie all'interfaccia utente semplice e immediata: è proprio quello che andremo a fare ora.
Configurare TortoiseHg
Prima di addentrarci nella configurazione di Visual Studio 2015 è opportuno effettuare qualche piccola modifica alla configurazione predefinita di TortoiseHg. Lanciamo quindi il TortoiseHg Workbench e facciamo click su File > Impostazioni : si aprirà una finestra modale che raccoglie la totalità delle opzioni di configurazione che è possibile modificare. Spostiamoci quindi, utilizzando il menu a sinistra, nella sezione Sync: una volta lì, modifichiamo l'impostazione predefinita del parametro Operazione da eseguire dopo il pull, portandola su Update. In questo modo, ogni volta che aggiorneremo il repository locale relativo a un progetto, Mercurial provvederà anche ad aggiornare la versione presente sul nostro hard-disk.
Fatto questo, spostiamoci nella sezione Estensioni e abilitiamo due plug-in fondamentali: hggit e mercurial_keyring. Il primo dà la possibilità di gestire i repository in tecnologia Git (come ad esempio tutti quelli presenti su Github.com), secondo le modalità descritte in questo articolo; il secondo consente di attivare un sistema sicuro per l'archiviazione interna delle password dei vari repository utilizzati, una funzionalità estremamente utile quando si effettua una grande quantità di operazioni di sincronizzazione (push, pull etc.) con i server Mercurial e/o Git remoti.
Installare VisualHG
E' il momento di aprire Visual Studio 2015 e installare il componente aggiuntivo che ci consentirà di interagire con TortoiseHg direttamente dalla GUI. Dal menu principale selezionate Strumenti > Componenti Aggiuntivi (Tools > Extensions and Updates se avete installato la versione in lingua inglese): si aprirà una finestra pop-up mediante la quale potremo visualizzare le estensioni attualmente installate e/o cercarne di nuove. Selezionate Online nel menu ad albero a sinistra per effettuare una ricerca tra le estensioni disponibili online, quindi inserite VisualHG nella casella in alto a destra: verrà così visualizzata l'estensione da installare, VisualHG di Bernd Schrader.
In alternativa all'installazione tramite GUI di Visual Studio è anche possibile installare VisualHG scaricando il pacchetto di installazione .msi dalla pagina ufficiale del progetto sul sito VisualStudioGallery.
Impostare VisualHG come Scc Manager predefinito
Una volta fatto questo (e riavviato Visual Studio 2015) occorrerà impostare l'estensione che abbiamo appena installato come predefinita. Dal menu principale di Visual Studio, selezioniamo Strumenti > Opzioni (Tools > Options per l'edizione in lingua inglese), quindi apriamo la voce Source Control nel menu a sinistra e selezioniamo VisualHG nella casella a discesa.
Una volta fatto questo, avremo la possibilità di accedere a una nuova voce di menu contestuale, denominata Source Control, mediante la quale sarà possibile avere a disposizione tutti i comandi e le funzionalità principali di TortoiseHg: Clone, Synchronize, Commit, File History e molti altri. Inoltre, di fianco a tutti i file protetti da scc faranno la loro comparsa alcune icone overlay che mostreranno la situazione corrente del file (non modificato rispetto all'ultima versione, modificato e in attesa di commit, et. al.).
Una alternativa stand-alone: HgSccPackage
Qualora l'interfaccia di VisualHG e/o di TortoiseHg non facesse al caso vostro, è disponibile una alternativa altrettanto funzionale: il suo nome è HgSccPackage, sviluppato da Sergey Antonov: a differenza di VisualHG, che è in buona sostanza una interfaccia per Visual Studio di TortoiseHg, HgSccPackage è uno strumento stand-alone: questo significa che non richiede l'installazione di TortoiseHg per funzionare, disponendo di una serie di strumenti e interfacce completamente autonome. Ovviamente, è anch'esso dotato di un menu contestuale piuttosto completo e di una serie di icone overlay corrispondenti allo status dei singoli file.
Degno di nota anche il comando Options, la prima delle opzioni presente nel menu contestuale, che consente di accedere a una serie di opzioni di configurazione di HgSccPackage tra cui: il tema grafico da utilizzare, il diff tool per confrontare i vari file (il mio preferito è kdiff3, particolarmente raccomandato per Mercurial e Git in quanto consente di confrontare fino a 3 revisioni contemporaneamente), le eventuali credenziali del proprio account BitBucket (una sorta di GitHub a disposizione degli utilizzatori di Mercurial) e molte altre impostazioni utili.
L'estensione HgSccPackage può essere installata tramite il menu apposito interno alla GUI di Visual Studi0, seguendo le stesse modalità già descritte per VisualHG, oppure direttamente dalla pagina ufficiale del progetto su VisualStudioGallery.
Ovviamente, nel caso in cui si decida di optare per questa soluzione alternativa, sarà comunque necessario configurare Visual Studio in modo che la utilizzi come Source Code Control Manager predefinito: per far questo bisognerà anche in questo caso selezionare, dal menu principale, Strumenti > Opzioni (Tools > Options per l'edizione in lingua inglese), aprire la voce Source Control nel menu a sinistra e selezionare Mercurial Source Control Package nella casella a discesa.
Scc Auto Switcher
Prima di concludere, vi lascio con un ultimo suggerimento: nel caso in cui abbiate necessità di lavorare con più Source Code Control Manger (SVN, Git, Hg et. al.) consiglio di installare anche l'ottima estensone Scc Auto Switcher di Francesco Pretto, la quale renderà Visual Studio 2015 in grado di selezionare automaticamente il plug-in di gestione Scc corrispondente al progetto corrente, identificato sulla base della presenza dei file e/o delle cartelle relative ( svn , .hg , .git et. sim.): a patto, ovviamente, di averlo installato in precedenza.
Anche l'estensione Scc Auto Switcher, come le precedenti, può essere installata tramite il menu apposito interno alla GUI di Visual Studi0 oppure direttamente dalla pagina ufficiale del progetto su VisualStudioGallery.
Per il momento è tutto: felice source code control!