[Mercurial.4] Mercurial: icone dei files, cancellazione repository e plug-in per Visual Studio 2005/2008/2010
A cosa serve TortoiseHG Overlay Icon Server ?
Lavorando con Mercurial da un po’ di tempo, mi sono accorto di una cosa strana.
Riprendiamo un’immagine usata nel post precedente:
La cartella ConsoleApplicationMercurial è contrassegnata da un’icona di un tick verde, che indica il fatto che il repository è sincronizzato e non contiene files da committare e cose del genere. Se apro la solution con Visual Studio e faccio una semplice modifica al Program.cs, e magari faccio scrivere qualcosa nella Console e salva tutto, Mercurial ovviamente capisce che quel file è cambiato rispetto alla versione contenuta nel repository. Questo “capisce che quel file è cambiato†è evidente dall’icona che contraddistingue il file stesso:
Adesso c’è un punto esclamativo. Questa icona non cambia solo sul file, ma anche su tutte le cartelle superiori del repository, fino a raggiungere quella root del repository stesso, che nel nostro caso è X:DocumentiIgorVisual Studio 2010ProjectsConsoleApplicationMercurial.
Queste belle icone possono sparire!
Allora, se deciderete di usare Mercurial attivamente, probabilmente gestirete il tutto da Visual Studio, e quindi potrebbe non capitarvi di andare in Esplora Risorse e vedere lo stato di ogni singolo file. Ma se lo farete, sappiate che c’è un piccolo trabocchetto dietro l’angolo: queste belle icone possono sparire. Non ditemi perchè, ma TortoiseHG (e non tanto Mercurial) ha bisogno della presenza nella tray-bar di un piccolo applicativo, TortoiseHG Overlay Icon Server, che evidentemente si occupa di monitorare il sistema e di mettere le icone giuste sui files giusti. Se questo tool non è avviato, vedrete sempre un punto interrogativo.
Ora sia chiaro: quando installa TortoiseHG viene installato anche questo tool, e viene messo per giunta da qualche parte all’avvio del sistema. Se però siete pignoli come me e andate a toglierlo, potreste cadere in questo problema. Se vi interessa saperlo, l’exe è questo:
C:Program Files (x86)TortoiseHgTortoiseHgOverlayServer.exe
Tutto qua.
Cancellazione di un repository
Nei primi giorni in cui studiavo e sperimentavo Mercurial, mi capitava spesso di creare e di voler cancellare i repository. Si può fare? Assolutamente sì.
Supponiamo di aver creato un repository in X:DocumentiIgorVisual Studio 2010ProjectsConsoleApplicationMercurial, così come indicato in questa piccola mini-serie di post. Se vogliamo cancellarlo, è sufficiente:
- Entrare nella cartella ConsoleApplicationMercurial
- Cancellare la directory .hg
- Cancellare il file .hgignore
Ed il gioco è fatto. Ovviamente cancellare un repository non cancella i vostri sorgenti: cancella tutti i commit fatti, l’intero storico di tutte le modifiche fatte, etc. etc. Ma tutto il resto rimane: solution di Visual Studio, tutti i .cs: ma questo non c’è nemmeno bisogno di dirlo.
Installazione del plug-in per Visual Studio
Il plug-in è compatibile con Visual Studio 2005/2008/2010 ed è scaricabile dal progetto su Codeplex. L’indirizzo è il seguente: http://visualhg.codeplex.com/.
Non richiede particolari configurazioni. Dopo l’installazione basta aprire Visual Studio, andare su Tools –> Options –> SourceControl e dal plug-in selection selezionare la voce VisualHG.
Da questo momento in poi, quando aprite una solution gestita sotto Mercurial, i files verranno identificati dalle icone, come mostrato di seguito.
ed avrete un menù contestuale per le operazioni indispensabili…
ovverro Commit, Status, History, Synchronize ed Update.
Vedremo queste operazioni nei prossimi post.