1.  Gestione dei repository

L'indirizzo dell'interfaccia web per la gestione dei repository è: https://island.ricerca.di.unimi.it/hg
Per questioni di sicurezza è possibile effettuare l'accesso solo mediante protocollo https.
Il login viene effettuato utilizzando come username la propria mail dell'università (di solito nome.cognome@studenti.unimi.it) e come password la password per l'accesso alla suddetta mail.
Mediante l'accesso tramite browser alla pagina sopra indicata è possibile visualizzare l'elenco dei progetti disponibili e, per ognuno di essi, l'indirizzo da cui effettuare le operazioni di clone, push e pull.
N.B.: per poter utilizzare un repository Mercurial sul server ISLab occorre richiedere l'attribuzione dei permessi in lettura e scrittura al personale del laboratorio.

1.1 Installazione del certificato su Firefox

Una volta effettuata la prima connessione verrà visualizzata la seguente pagina
Risulta necessario dichiarare l'attendibilità del certificato cliccando su "Sono consapevole dei rischi" -> "Aggiungi eccezione" -> "Conferma eccezione di sicurezza".

1.2. Guide ufficiali Mercurial

Coloro che siano già a conoscenza del funzionamento di base dei sistemi di gestione delle versioni (e.g.: SVN) possono visualizzare la breve guida introduttiva a Mercurial contenuta alla pagina http://mercurial.selenic.com/wiki/UnderstandingMercurial/, dove vengono mostrati i principi di funzionamento essenziali di questo sistema di versioning.
Per chi non avesse mai visto il funzionamento di un sistema di versioning è invece consigliabile visualizzare il tutorial completo su Mercurial visibile alla pagina http://mercurial.selenic.com/wiki/Tutorial .

2. Modulo per eclipse

Come per altri software di versioning, è possibile installare un modulo aggiuntivo per Eclipse che abilita alla gestione di repository Mercurial chiamato MercurialEclipse (HGE). Il sito ufficiale di questo modulo è http://javaforge.com/project/HGE.

2.1 Installazione modulo

Per installare il modulo occorre effettuare il seguenti passi:
  1. Avviata la piattaforma Eclipse, spostarsi sul menu Help -> Install New Software ...
  2. Inserire l'indirizzo http://cbes.javaforge.com/update nella casella di testo con etichetta "Work with"
  3. Selezionare il pacchetto MercurialEclipse nell'elenco dei pacchetti disponibili
  4. Proseguire nella procedura fino al termine dell'installazione

2.2 Caricare un nuovo progetto su IsLab (Push)

Per generare un repository mercurial su di un progetto esistente è sufficiente spostare il cursore sulla cartella del progetto, premere il tasto destro e selezionare Team -> Share project e seguire le istruzioni a schermo. Questa procedura genererà un repository mercurial locale collegato al progetto.
Per collegare un progetto Mercurial ad un repository remoto occorre a questo punto spostarsi sulle proprietà del progetto (click destro sul progetto -> Properties) e, selezionando Mercurial dal menu di sinistra, aggiungere l'indirizzo del repository remoto mediante il tasto Add.
Eseguite le due operazioni precedentemente descritte sarà possibile fare due tipi di commit del progetto, entrambi attivabili dal menu contestuale Team che si raggiunge effettuando il click destro sulla cartella del progetto stesso

2.3 Importare un progetto esistente (Clone)

Per importare un progetto da un repository Mercurial è necessario effettuare i seguenti passi:
  1. Cliccare sul menu File -> New -> Other.
  2. Dalla cartella Mercurial scegliere "Clone existing Mercurial Repository" e premere Next.
  3. Inserire l'URL del progetto, username e password per l'accesso al repository
  4. Premere Next fino al termine della procedura guidata
Il nuovo progetto verrà importato, verrà creato il repository locale e rimarrà automaticamente collegato con il repository remoto.

2.4 Inviare modifiche (commit+push)

Per effettuare l'invio delle modifiche locali verso il server ISL@b occorre eseguire le seguenti operazioni
  1. Effettuare il commit delle modifiche al progetto in locale mediante tasto destro sul progetto -> Team -> Commit
  2. Effettuare il push del repository locale verso il server ISL@b mediante tasto destro sul progetto -> Team -> Push (il progetto deve essere già stato collegato al repository remoto ISL@b, vedere qui per dettagli sul collegamento).

2.5 Scaricare modifiche (pull+update)

Per aggiornare il progetto locale (e di conseguenza tutto il poprio repository locale) con le modifiche riportate da altri sul server ISL@b occorre effettuare un click con il tasto destro sul progetto, scegliere il menu Team e cliccare su Pull. Mettendo la spunta sulla checkbox Update after pull, l'operazione di Update sarà effettuata automaticamente.

3. TortoiseHG per windows

TortoiseHg è un software libero, scaricabile alla pagina http://tortoisehg.bitbucket.org/.

3.1 Abilitazione certificato IsLab

Per permettere il corretto funzionamento del software è necessario memorizzare il certificato IsLab nel registro dei certificati attendibili.
Per fare questo occorre effettuare i seguenti passi:
  1. Scaricare il certificato da qui.
  2. Aprirlo con un editor di testo semplice (notepad, notepad++, ecc.) e copiarne l'intero contenuto in memoria (comprese le righe di intestazione e di chiusura "BEGIN/END CERTIFICATE").
  3. Spostarsi nella cartella di installazione di TortoiseHg (solitamente C:\Program Files\TortoiseHg), e proseguire nella cartella hgrc.d.
  4. Assegnare all'utente corrente i permessi di scrittura sul file cacert.pem e, dalle proprietà del file, rimuovere la spunta dall'opzione "sola lettura".
  5. Aprire il file cacert.pem ed incollarvi in fondo la chiave copiata al punto 2.

3.2 Caricare un nuovo progetto su IsLab

Per memorizzare un progetto già esistente sui repository IsLab occorre seguire i seguenti passi:
  1. Utilizzando esplora risorse aprire la cartella principale del progetto
  2. Click con il tasto destro e selezionare "TortoiseHg"->"Create Repository here"
  3. Click con il tasto destro e spostarsi sulla voce "Hg Commit"
  4. Selezionare dalla colonna di sinistra tutti file che fanno parte del progetto ed inserire un commento di commit (essendo questo il primo commit il commento è generalmente "First import"). Infine cliccare sul tasto "Inserisci".
  5. Click con il tasto destro e spostarsi sulla voce "Hg Workbench"
  6. Attivare l'icona per attivare il menu di sincronizzazione con un repository remoto
  7. Sotto la dicitura "Remote Repository" selezionare "https" dal menu a discesa e scrivere l'indirizzo del server (saturno.ricerca.dico.unimi.it) nel primo blocco, lasciar vuoto lo spazio per la porta e scrivere l'indirizzo locale (/hg/nomeProgetto) nel terzo blocco.
  8. Salvare utilizzando l'icona che si trova alla destra dell'indirizzo appena digitato
  9. Effettuare il push del progetto locale mediante il tasto
Il progetto è ora stato inviato sul nostro server e la vostra cartella locale è collegata al progetto remoto.

3.3 Importare un progetto esistente (clone)

Per importare sul proprio pc un progetto già presente sul server ISLab (in caso di progetto vuoto questa operazione servirà solo a collegare la cartella locale con il repository remoto) effettuare le seguenti operazioni:
  1. Utilizzando esplora risorse posizionarsi all'interno della cartella dove si vuole importare il progetto
  2. Click con il tasto destro e selezionare "TortoiseHg"->"Clone..."
  3. Nella finestra che compare sostituire solamente il valore del campo "Sorgente" inserendo l'url del proprio progetto (è possibile trovarlo utilizzando l'interfaccia web all'indirizzo https://island.ricerca.di.unimi.it/hg: aprendo un progetto l'indirizzo è rappresentato dal campo "Clone url").
  4. Confermare cliccando sul tasto "Clona"

3.4 Inviare modifiche (commit+push)

3.5 Scaricare modifiche (pull+update)

4. Hg da riga di comando (qualunque OS)

Il software Mercurial può essere installato seguendo le istruzioni per il proprio sistema operativo alla pagina http://mercurial.selenic.com/downloads. Una volta terminata l'installazione si potranno richiamare tutti i comandi necessari mediante l'istruzione hg utilizzata direttamente da riga di comando.

4.1 Caricare un nuovo progetto su IsLab

Per caricare sul nostro server un nuovo progetto (previa richiesta di creazione del repository al personale del laboratorio) sarà necessario eseguire i seguenti passi:
  1. Aprire un prompt dei comandi e posizionarsi all'interno della cartella principale del progetto.
  2. Eseguire
    hg init
    per inizializzare il repository locale sulla cartella attuale
  3. Eseguire il comando
    hg addremove
    per aggiungere al sistema di versioning tutti i file presenti nella cartella.
  4. Eseguire il comando
    hg commit -u username
    per effettuare il primo commit sul repository locale
  5. Eseguire il comando
    hg push https://saturno.ricerca.dico.unimi.it/hg/nomeProgetto
    per effettuare l'upload del vostro repository locale sul repository centrale IsLab
Nel caso dovessero verificarsi errori nel riconoscimento del certificato ISLab, la soluzione più veloce consiste nell'aggiunta dell'opzione --insecure al comando push

4.2 Importare un progetto esistente (clone)

4.3 Inviare modifiche (commit+push)

4.4 Scaricare modifiche (pull+update)