Utilizzare e strutturare il repository di subversion è un requisito fondamentale per supportare correttamente il ciclo di sviluppo di un progetto software. Qui di seguito alcuni appunti che sintetizzano l'uso del repository.
Struttura del repository
Il repository è suddiviso nelle seguenti cartelle:
- Progetto 1
- trunk
- branches
- tags
- Progetto 2
- trunk
- branches
- tags
trunk
è la cartella di lavoro principale, contiene i sorgenti nella versione attualmente in lavorazione (next release). La cartella branches
contiene delle sottocartelle dei vari branches anche loro in fase di sviluppo: il nome delle cartelle è significativo (ad esempio, per lo sviluppo alla risoluzione di un bug, viene creata una cartella BUG-xxx). La cartella tags
contiene invece le versioni alpha, beta, RC o final del progetto; qui i nomi sono nella forma [VER].[REL]-[alpha, beta, RCx]
.
Branching e merging
Il branching viene effettuato per creare una copia di lavoro per la risoluzione di un BUG o per l'implementazione di una nuova feature in prova senza intaccare il trunk principale: utilizzando i front end grafici di svn oppure il comandosvn copy
, è sufficiente creare una copia dal trunk
nella cartella branches
e nominarla in modo appropriato; occorre quindi (utilizzando svn switch
) passare alla copia di lavoro il nuovo repository ed effettuare le modifiche. Al termine del ciclo di vita del branch, occorre fare un merge con il trunk principale (utilizzando svn merge
) ed eventualmente cancellare il branch. Rilascio di una versione (alpha, beta, RC, final)
Per rilasciare una versione, occorre effettuare una copia ditrunk
(si suppone ovviamente che la versione venga fatta sul trunk principale e non su un branch) con il comando svn copy
o tramite il frontend grafico. A questo punto, per fare il building della versione occorre fare un checkout (svn co
) dalla cartella tags
di riferimento (ad es. svn co svn://server_svn/Progetto/tags/1.5-RC2
)
1 commento:
I miei più sentiti complimenti per questo post: è la più chiara ed utile guida a SVN relativa all'uso delle varie biforcazioni del repository. Ed è in italiano, che non fa mai male...
Posta un commento