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".
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.
Per installare il modulo occorre effettuare il seguenti passi:
- Avviata la piattaforma Eclipse, spostarsi sul menu Help -> Install New Software ...
- Inserire l'indirizzo http://cbes.javaforge.com/update nella casella di testo con etichetta "Work with"
- Selezionare il pacchetto MercurialEclipse nell'elenco dei pacchetti disponibili
- Proseguire nella procedura fino al termine dell'installazione
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
- Commit locale. Si effettua mediante l'opzione Commit ed inserisce la versione attuale al repository locale.
- Commit remoto (Push). Si effettua mediante l'opzione Push e sincronizza tutte le modifiche al repository locale con il
repository remoto.
Per importare un progetto da un repository Mercurial è necessario effettuare i seguenti passi:
- Cliccare sul menu File -> New -> Other.
- Dalla cartella Mercurial scegliere "Clone existing Mercurial Repository" e premere Next.
- Inserire l'URL del progetto, username e password per l'accesso al repository
- 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.
Per effettuare l'invio delle modifiche locali verso il server ISL@b occorre eseguire le seguenti operazioni
- Effettuare il commit delle modifiche al progetto in locale mediante tasto destro sul progetto -> Team -> Commit
- 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).
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:
- Scaricare il certificato da qui.
- 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").
- Spostarsi nella cartella di
installazione di TortoiseHg (solitamente C:\Program Files\TortoiseHg),
e proseguire nella cartella hgrc.d.
- Assegnare all'utente corrente i permessi di scrittura sul file cacert.pem e, dalle proprietà del file, rimuovere la spunta dall'opzione "sola lettura".
- Aprire il file cacert.pem ed incollarvi in fondo la chiave copiata al punto 2.
Per memorizzare un progetto già esistente sui repository IsLab occorre seguire i seguenti passi:
- Utilizzando esplora risorse aprire la cartella principale del progetto
- Click con il tasto destro e selezionare "TortoiseHg"->"Create Repository here"
- Click con il tasto destro e spostarsi sulla voce "Hg Commit"
- 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".
- Click con il tasto destro e spostarsi sulla voce "Hg Workbench"
- Attivare l'icona per attivare il menu di sincronizzazione con un repository remoto
- 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.
- Salvare utilizzando l'icona che si trova alla destra dell'indirizzo appena digitato
- 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:
- Utilizzando esplora risorse posizionarsi all'interno della cartella dove si vuole importare il progetto
- Click con il tasto destro e selezionare "TortoiseHg"->"Clone..."
- 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").
- 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.
Per caricare sul nostro server un nuovo progetto (previa richiesta di creazione del repository al personale del laboratorio) sarà necessario eseguire i seguenti
passi:
- Aprire un prompt dei comandi e posizionarsi all'interno della cartella principale del progetto.
- Eseguire
hg init
per inizializzare il repository locale sulla cartella attuale
- Eseguire il comando
hg addremove
per aggiungere al sistema di versioning tutti i file presenti nella cartella.
- Eseguire il comando
hg commit -u username
per effettuare il primo commit sul repository locale
- 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)