![]() |
|||
Lavorare con SubversionIntroduzioneIl server mantiene un "repository" centrale, che è il database principale che contiene il codice comune del progetto. I singoli sviluppatori hanno le loro "copie di lavoro", che sono copie locali del database a partire da un certo momento, insieme alle modifiche locali che lo sviluppatore non ha ancora caricato sul server. Quando uno sviluppatore vuole condividere le sue modifiche con il resto del gruppo semplicemente "committa" le sue modifiche sul server usando il programma client, che avrà cura di caricarle e unirle con le modifiche fatte da altri sviluppatori. Il SoftwareUNIXSe state usando Linux, FreeBSD o un altro clone UNIX moderno dovete semplicemente installare il software SVN ufficiale, versione 1.0 o successiva, per il vostro OS. Tutte le distribuzioni di Linux comuni hanno SVN incluso al loro interno. C'è anche un'interfaccia GUI QT a svn chiamata eSVN, disponibile per gli Unix (distribuzioni GNU/Linux, FreeBSD,Sun Solaris e altre), Mac OS X e Windows. Nota Il server gira su subversion 1.1 al quale si può accedere con i client nelle versioni 1.0, 1.1 o 1.2. SVN non funzione con la localizzazione UTF-8. Dovete settare il locale a ISO8859 prima di ogni azione SVN. AmigaOSSe state usando AmigaOS, avete bisogno di uno stack TCP/IP e qualche port installato. Una opzione è il port Amiga di Olaf Barthel che potete trovare su AmiNET (cerca "subversion"). WindowsSe state usando Microsoft Windows (TM) potete usare il client TortoiseSVN, specialmente se vi piace usare Windows Explorer. Questo programma è Open Source e libero, ha tante caratteristiche ed è supportato. Per favore assicuratevi anche che i file che aggiungete hanno dei fine riga in stile UNIX, altrimenti potreste ostacolare la generazione del codice. Se i file che state modificando hanno un set proprietario di SVN eol-style:native (non vale per i nuovi file comunque) potete anche non pensarci, e i fine riga (EOL) saranno automaticamente convertiti. Esempi di editor che salvano con questi EOL sono Notepad++, TigerPad (versione gratuita e migliorata di Notepad), DOS Navigator OSP, e altri. E' disponibile anche eSvn, come specificato sopra. MacOS XSe state usando MaxOS X potete usare uno dei tanti port SVN disponibili, come il Port subversion di Martin Ott. Dopo aver fatto questo, potreste volere installare una GUI SVN aggiuntiva come svnX. svnX è il client SVN più aggiornato e supporta anche l'integrazione, fra gli altri, del texteditor freeware Textwrangler (precedentemente noto come BBedit Lite). Notate che quando usare Textwrangler o altri editor di testo Mac, dovete cambiare la codifica dei caratteri da 'Macos roman' a 'ISO latin 1' (ISO8859) per i vostri documenti (cambiatelo nelle preferenze). Per quanto rigurda TW tutte le altre impostazioni sono corrette di default. Tutte le applicazioni specificate sono freeware e disponibili come Universal Binary per i Mac PPC e Intel. C'è anche il client eSvn, come specificato sopra. Loggarsi sul serverA differenza di CVS, non avete bisogno di loggarti sul server. Invece, SVN ti chiederà login e password quando serve. Nota Il repository di AROS gira su un server protetto da password, ciò significa che devi ottenerne l'accesso per poter collaborare allo sviluppo. Su richiesta di Amiga Inc., l'accesso anonimo di sola lettura al repository è stato disabilitato. Ottenere i sorgenti di AROSPer avere una copia dei sorgenti di AROS potete usare il comando "checkout", così: > svn checkout https://svn.aros.org/svn/aros/trunk/AROS Questo creerà una directory chiamata AROS e la popolerà con tutti i sorgenti, può impiegarci un po' di tempo se avete una connessione lenta. Il modulo "contrib" contiene i programmi di terze parti che sono stati portati su AROS. Dovete farne il checkout al fine di compilarli: > cd AROS > svn checkout https://svn.aros.org/svn/aros/trunk/contrib Consiglio Dopo il checkout, SVN ricorderà da dove vengono i sorgenti. Ottenere i sorgenti extraOltre ai sorgenti principali di AROS che abbiamo scaricato nella sezione precedente, ci sono anche altre cose sul server SVN non direttamente legate al cuore del sistema operativo. Per esempio, i moduli "binaries" che contengono immagini come screenshot, sfondi e roba simile, e il modulo "documentation" che contiene i sorgenti del sito web. Potete ottenere una lista dei moduli disponibili col comando: > svn ls https://svn.aros.org/svn/aros/trunk/ Aggiornare i sorgentiDopo aver fatto il checkout dei sorgenti, potreste volerli aggiornare periodicamente per avere le ultime modifiche che gli altri sviluppatori hanno committato. Per far ciò usate il comando "update": > cd AROS > svn update Questo unirà tutte le modifiche che altri sviluppatori hanno fatto ai vostri sorgenti e scaricherà inoltre nuovi file e directory che sono state aggiunti. Se qualcuno ha committato modifiche a un file che anche voi avete modificato localmente, SVN tenterà di unire le modifiche automaticamente. Se entrambi avete modificato le stesse righe, SVN potrebbe fallire nell'intento di unire i sorgenti. Quando questo succede, SVN si lamenterà e inserirà entrambe le versioni nel file, separate da <<<< Dovrete quindi modificare il file e risolvere il conflitto manualmente. Avvertenza Solo perchè SVN ha unito con successo le tue modifiche con quelle degli altri sviluppatori non significa che tutto è a posto. SVN tratta solo il contenuto testuale; potrebbero sempre esserci dei conflitti di logica dopo l'unione (es. un altro sviluppatore potrebbe aver modificato le semantiche di qualche funzione che avete usato nelle vostre modifiche). Dovete sempre verificare i file che avete unito per vedere se hanno ancora senso. Committare le modificheSe avete fatto qualche modifica e sentite di voler condividere il vostro lavoro con gli altri sviluppatori, potete usare il comando "commit": > svn commit Potete specificare una lista di file da committare; diversamente SVN esaminerà la directory corrente e troverà tutti i file che avete modificato e li committerà. Prima di inviare le vostre modifiche al server per l'incorporazione, SVN vi chiederà di inserire un messaggio di log. Questo messaggio deve contenere una breve descrizione e in certi casi una motivazione. I messaggi di log ben scritti sono molto importanti, perchè rendono più semplice per gli altri sviluppatori, capire velocemente quello che avete fatto e forse anche il perchè. I messaggi di log vengono raccolti e quindi inviati in una mail giornaliera alla mailing list di sviluppo, cosìcchè ognuno può tenersi aggiornato sullo sviluppo del codice. Prima di committare le vostre modifiche in una directory, dovreste sempre fare prima di tutto un update per vedere se qualcuno ha modificato i file mentre ci stavate lavorando. Nel caso ciò accada, dovete risolvere tutti i problemi prima di committare. Inoltre per favore, assicuratevi di avere testato le vostre modifiche prima di committarle; per lo meno che non danneggino la compilazione. Aggiungere nuovi file e directoryPer aggiungere nuovi file e directory al repository, usate il comando "add": > svn add file.c > svn add dir SVN non esaminerà automaticamente le nuove directory aggiungendone i contenuti; dovete farlo voi. Dopo aver aggiunti il file, dovete usare il comando "commit" per aggiungerlo definitivamente al repository. Nota Non aggiungere file generati (in genere mmakefile, strings.h) al repository. Altrimenti questi file non saranno aggiornati quando il file sorgente viene modificato. Settare le proprietàI vari sistemi operativi differiscono nei codici usati per i fine riga. Per assicurarsi che i file di testo che non sono generati/modificati su Linux, abbiamo il corretto codice di fine riga è necessario lanciare ciò che segue: svn propset svn:eol-style native <source.c> Subversion può sostituire le parole chive speciali nei file sorgente. Per abilitare questa funzione è necessario lanciare: svn propset svn:keywords Author Date Id Revision <main.c> Nota Puoi configurare Subversion affinchè setti automaticamente le proprietà per certi tipi di file. Per favore, consulta la documentazione di Subversion. ImportareQuando volete aggiungere un insieme più grande di file, ad esempio il codice sorgente di qualche software esistente, "svn add" diventa presto noioso. Per questo dovreste usare il comando "svn import". Sfortunatamente, la sezione riguardante il comando di import nel manuale SVN è scritta male, quindi un esempio è nell'ordine:
Letture aggiuntiveInformazioni più dettagliate su SVN possono, ovviamente, essere trovare nelle pagine del manuale e nei file info distribuiti con SVN stesso, e ci sono anche numerosi siti che contengono tutorials e guide che possono essere più facili da leggere. Le pagine seguenti sono altamente consigliate: |
Copyright © 1995-2009, The AROS Development Team. Tutti i diritti riservati. Amiga® è un marchio registrato di Amiga Inc. Tutti i diritti sui marchi vanno ai legittimi proprietari. |