Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Come strutturare un repository Subversion
Scritto da Andrea Chiarelli il 04-11-2011 ore 09:09
Intel Parallel Advisor
La necessità di avere un repository per la gestione del codice sorgente dovrebbe essere ormai un elemento acquisito da parte degli sviluppatori. Tra i più diffusi sistemi di controllo dei sorgenti c'è Subversion, giunto di recente alla versione 1.7. Nella creazione di repository per nuovi progetti software con Subversion, ma anche con altri sistemi, ci si trova spesso a dover fare delle scelte su come strutturarlo, scelte che poi difficilmente potranno essere cambiate.

Jessica Thornsby di WANdisco analizza, in un suo post, i pro e i contro di alcune delle decisioni che uno sviluppatore si trova a dover prendere in questa situazione.

La sua analisi parte dal considerare se, in presenza di più progetti, sia meglio creare un repository per progetto o un unico repository, che ospiti i diversi progetti. Per ciascuna di queste due opzioni ci sono benefici e svantaggi, che dipendono sostanzialmente dalle reciproche relazioni tra i progetti e dall'organizzazione del lavoro del team di sviluppo.

Avere un singolo repository per più progetti può essere comodo quando il codice di un progetto è condiviso con altri, come può avvenire, ad esempio, nel caso di librerie comuni; tuttavia questa opzione può creare qualche problema nell'attribuzione di tag di versione o nella creazione di branch.

La creazione di repository separati per progetto consente, d'altro canto, di avere un maggior controllo sull'accesso da parte degli sviluppatori e di poter definire una struttura del repository più adatta alle caratteristiche del progetto stesso. L'aspetto negativo è rappresentato dal fatto che un progetto software può fare riferimento a diversi repository Subversion a causa dei progetti condivisi.

Per quel che riguarda la struttura del singolo repository, la raccomandazione ufficiale del team di sviluppo di Subversion prevede la creazione delle tre cartelle classiche: trunk, per il codice in sviluppo; branches, per variazioni sostanziali, che potrebbero compromettere la stabilità del codice della release corrente; tags, per l'archiviazione delle milestone del progetto, tipicamente le varie release.

Thornsby suggerisce di affiancare alle cartelle classiche anche altre cartelle per una maggiore discriminazione tra i branch del progetto: per esempio, può tornare utile una cartella per il branch del progetto per testare nuove tecnologie (Toe in the water branches), o un branch specifico per la correzione di bug.
Precedente: BeMyApp, un'occasione per emergere
Successiva: I moduli CSS3 Selector e Namespace diventano W3C Recommendation
Copyright Programmazione.it™ 1999-2012. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.283 secondi.