Usare Mercurial HG Source Code Control Manager con Visual Studio 2015

Usare Mercurial HG Source Code Control Manager con Visual Studio 2015

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).
Figura 1 - Interfaccia principale del TortoiseHG Workbench
Figura 1 – Interfaccia principale del TortoiseHg Workbench

 

tortoisehg-contextual-menu-example
Figura 2 – Il menu contestuale di TortoiseHg

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.

tortoisehg-settings-sync

Per comprendere tutto questo è necessario conoscere le modalità di funzionamento dei source control manager distribuiti come Mercurial: nel caso in cui vi serva una infarinatura a riguardo, vi consiglio di leggere qui.

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.

vs2015-visualhg-visual-studio-gallery

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.

vs2015-visualhg-plug-in-selection-screen

 

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.).

vs2015-visualhg-screenshot

 

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.

vs2015-hgsccpackage
L’estensione HgSccPackage nella galleria di estensioni disponibili per Visual Studio

 

vs2015-hgsccpackage-screenshot
Il menu contestuale di HgSccPackage

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.

vs2015-source-control-plug-in-selection-screen

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 (  ,  ,   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!

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

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.