Domanda

Sto pensando di trasferirsi a SVN da Mercurial perché sembra più semplice mantenere e più persone hanno un client SVN rispetto a un client Mercurial disponibile. Comunque ho una domanda riguardante la struttura dei file -

Capisco che la tipica struttura SVN corretta va:

/ Trunk
.... / file di versione corrente qui

/ Branch
.... / Bugfix
.... / newFeature
.... / Branch3
.... / Branchn

/ Tag
.... / Versione 1.0
.... / Versione 2.0
.... / versione n.n

La mia domanda è come fa questo fattore in più ose? Il mio software ha attualmente repository Mercuriali separati per le versioni GUI / CLI del mio software per ogni sistema operativo poiché non è possibile effettuare il checkout solo una directory in Mercurial. Tuttavia, capisco che puoi in SVN. La struttura sembra:

/ Windows (o Linux o qualsiasi altra cosa)

/ Trunk
.... / cli
..... / file di versione corrente qui .... / GUI ..... / file di versione corrente qui

/ Branch
.... / cli
..... / bugfix
..... / newFeature
..... / branch3
..... / Branchn
.... / GUI ..... / bugfix
..... / newFeature
..... / branch3
..... / branchn

/ Tag
.... / cli
..... / Versione 1.0
..... / Versione 2.0
..... / versione n.n
.... / GUI ..... / Versione 1.0
..... / Versione 2.0
..... / versione n.n

o sto rendendo così così complicato? Consiglieresti di memorizzare la versione GUI in un repository separato? Anche in quale di queste directory tipiche sono memorizzati con gli eseguibili precompilati?

Capisco che queste domande possono sembrare novizi, ma la verità è che sono completamente nuova per svn. Grazie per il tuo aiuto!

È stato utile?

Soluzione

Ho usato SVN per solo circa 3 o 4 anni ora e quello che ti sembra abbastanza buono per me, non memorizzerei la versione GUI in un repo separato. Al mio lavoro abbiamo tutti i nostri progetti sotto un repo, solo cartelle diverse e questo funziona perché come hai dichiarato puoi controllare qualsiasi cartella che desideri.

Inoltre ci sono alcune persone là fuori che sostengono che non dovresti conservare i dati binari (come gli eseguibili precompilati) in un repo svn semplicemente perché salterà il repo in quanto non può essere diffuso con la versione precedente come il testo può. Questo è più o meno la politica non scritta sul mio lavoro. A casa sul mio SVN personale controllerò importanti eseguibili o file di libreria che so che non cambiano regolarmente, proprio così che sono lì quando ne ho bisogno. Non sono preoccupato per gonfiarsi e poter fare un passo indietro attraverso l'altra versione dell'EXE è un po 'fresco a volte per vedere la progressione.

Per quanto riguarda i rami e i tag, non li ho mai usati. So che probabilmente dovrei, ma la maggior parte dei miei progetti è comunque "prova del concetto" e quindi il mio tronco principale è davvero tutto ciò che costruisco. Fondamentalmente usi SVN come per uno strumento di backup e timeline molto bello. Ma I Prob dovrebbe iniziare a usare tag e rami.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top