Controllo versione

7 views
Skip to first unread message

Matteo Passerini

unread,
Feb 14, 2012, 8:59:49 AM2/14/12
to Staff GalLUG, novar...@googlegroups.com
Ragazzi buondì,
Ho bisogno di un consulto a riguardo dei sistemi di subversion.

Dobbiamo creare n personalizzazioni di un software già funzionante, il che implica la creazione di un nuovo branch per ogni personalizzazione.
Nel frattempo però il progetto padre va avanti e, ad ogni release nuova di questo, tutte le modifiche dovrebbero essere committate in ogni branch mantenendo però le personalizzazioni fatte.

Non sono riuscito a trovare nessuno strumento che ragioni così, tutti ragionano sul fatto che il progetto principale venga aggiornato dai branch.

Qualcuno ha esperienze a riguardo?

--
Matteo Passerini - Consulenza nel settore delle tecnologie informatiche
Vicolo Monte Santo, 3 - 28066 Galliate (NO) - P.IVA: 02283420038
Cel.: 347 29 24 510 -  eMail: pas...@gmail.com

Alex Gotev

unread,
Feb 14, 2012, 9:03:17 AM2/14/12
to novar...@googlegroups.com
Se è in Java l'unica cosa che mi viene in mente per automatizzare un simile processo è usare Ant, impostando per ogni progetto una cartella di build diversa, le classpath comuni con il progetto padre e le classpath proprie della personalizzazione stessa. Non ho molta esperienza in merito ma penso che sbirciando un po' nella documentazione o sui forum qualcosa si trova.

Matteo Passerini

unread,
Feb 14, 2012, 9:05:34 AM2/14/12
to novar...@googlegroups.com
l giorno 14 febbraio 2012 15:03, Alex Gotev <alex...@gmail.com> ha scritto:
Se è in Java

Ma che siam pazzi? Mi voglio troppo bene per programmare in Java u.u Php con JQuery e prossimamente del Pitone aggiunto.

Alex Gotev

unread,
Feb 14, 2012, 9:10:35 AM2/14/12
to novar...@googlegroups.com
Anche io se devo scegliere scelgo PHP :D, comunque non mi spiace nemmeno Java. Dai un'occhiata qui: http://stackoverflow.com/questions/1154699/build-php-with-ant-scripts

Valerio Luca Trombetta

unread,
Feb 14, 2012, 9:20:22 AM2/14/12
to novar...@googlegroups.com

Tortoise come client e subversion su ubuntu. .. Su Tech.mikeshinoda.it dovrebbe esserci una guida ;-)

--
_____________________
http://groups.google.com/group/admins-gallug?hl=it
 
GalLUG - Galliate LUG & Novara XPug
Circolo ANSPI B.Quagliotti – CF 01103280036
Viale Quagliotti, 1 - Galliate (NO)
Tel/Fax: 0321.806832 - in...@gallug.it - www.gallug.it
_____________________
Per mandare una mail al gruppo: novar...@googlegroups.com
Per disiscriverti mail vuota a: novara-xpug...@googlegroups.com

Andrea Francia

unread,
Feb 14, 2012, 9:25:28 AM2/14/12
to novar...@googlegroups.com, Staff GalLUG

Dobbiamo creare n personalizzazioni di un software già funzionante, il che implica la creazione di un nuovo branch per ogni personalizzazione. 

Se creaste n-branch, uno per ogni personalizzazione aumenterete in modo lineare il costo di manutenzione e di sviluppo, vi infilerete in un buco nero assorbi risorse. Vi suggerirei di considerare il feature toggle prima di impegnarsi nella strategia dei branch.

2012/2/14 Matteo Passerini <pas...@gmail.com>

Nel frattempo però il progetto padre va avanti e, ad ogni release nuova di questo, tutte le modifiche dovrebbero essere committate in ogni branch mantenendo però le personalizzazioni fatte.

Riguardo a questo immagino che farete continous integration e abbiate la possibilita` di proporre patch upstream. Per quello che ho visto io Subversion non e` lo strumento migliore per applicare patch a un software in movimento. Va bene se tenete il vostro codice e le vostre patch sotto Subversion ma non userei Subversion per fare il merge. Per fare il merge userei "patch" in qualche script.

Questo problema e' stato affrontato ripetutamente nei sistemi di packaging e di port. Io mi ispireri a brew, mac o bsd ports, oppure ai package di debian o Fedora. Non dico di usare questi software come tecnologia, ma solo che vedere come fanno loro e' buon modo. 

Oppure cercate consulenza su come gestire la cosa con Git e "git-svn rebase".

Ciao
--
Andrea Francia

Matteo Passerini

unread,
Feb 14, 2012, 9:48:18 AM2/14/12
to novar...@googlegroups.com
Grazie mille Andrea per le segnalazioni dal sito di Martin Fowler, ci daremo una letta ma sembra proprio essere quello che stiamo cercando!

Matteo Vaccari

unread,
Feb 14, 2012, 12:43:18 PM2/14/12
to novar...@googlegroups.com, Staff GalLUG


2012/2/14 Matteo Passerini <pas...@gmail.com>

Ragazzi buondì,
Ho bisogno di un consulto a riguardo dei sistemi di subversion.

Dobbiamo creare n personalizzazioni di un software già funzionante, il che implica la creazione di un nuovo branch per ogni personalizzazione.

!!! No! Come ha detto Andrea.  N personalizzazioni non implicano che devi fare N branch.  Anzi è proprio la strategia errata.  Le branch non servono per mantenere in parallelo N versioni del software; servono al contrario per *fermare* lo sviluppo in una versione e proseguirlo nella successiva.

Per mantenere N personalizzazioni ci sono tante maniere; l'idea di base è che ogni personalizzazione sta in una sottodirectory del progetto, che contiene le classi o le procedure o gli script personalizzati.  Il programma di base va a usare questa o quella personalizzazione in base a un file di configurazione.

M

Matteo Vaccari

unread,
Feb 14, 2012, 12:47:05 PM2/14/12
to novar...@googlegroups.com, Staff GalLUG


2012/2/14 Matteo Passerini <pas...@gmail.com>

Ragazzi buondì,
Ho bisogno di un consulto a riguardo dei sistemi di subversion.

Dobbiamo creare n personalizzazioni di un software già funzionante, il che implica la creazione di un nuovo branch per ogni personalizzazione.
Nel frattempo però il progetto padre va avanti e, ad ogni release nuova di questo, tutte le modifiche dovrebbero essere committate in ogni branch mantenendo però le personalizzazioni fatte.


!!! No! Come ha detto Andrea.  N personalizzazioni non implicano che devi
fare N branch.  Anzi è proprio la strategia errata.  Le branch non servono
per mantenere in parallelo N versioni del software; servono al contrario
per *fermare* lo sviluppo in una versione e proseguirlo nella successiva.

Per mantenere N personalizzazioni ci sono tante maniere; l'idea di base è
che ogni personalizzazione sta in una sottodirectory del progetto, che
contiene le classi o le procedure o gli script personalizzati.  Il
programma di base va a usare questa o quella personalizzazione in base a un
file di configurazione.
Matteo
 

news75

unread,
Feb 14, 2012, 12:47:49 PM2/14/12
to novar...@googlegroups.com
Il giorno mar, 14/02/2012 alle 14.59 +0100, Matteo Passerini ha scritto:
> Dobbiamo creare n personalizzazioni di un software già funzionante, il
> che implica la creazione di un nuovo branch per ogni
> personalizzazione.
> Nel frattempo però il progetto padre va avanti e, ad ogni release
> nuova di questo, tutte le modifiche dovrebbero essere committate in
> ogni branch mantenendo però le personalizzazioni fatte.

Wow, è il copione di un film dell'orrore ;D !?

> Non sono riuscito a trovare nessuno strumento che ragioni così, tutti
> ragionano sul fatto che il progetto principale venga aggiornato dai
> branch.

credo che ci sia un perché...

ad ogni modo mi associo ad Andrea.

@Andrea: a proposito quando vieni a trovarci!? :)

ciao ciao

g.

Fabio M.

unread,
Feb 14, 2012, 4:18:28 PM2/14/12
to admins...@googlegroups.com, novar...@googlegroups.com
Non sono un esperto assoluto quindi prendila un po' come frutto della
pratica diretta...
Questa cosa io la faccio a livello progetto con Zend Studio (forse lo
fa anche Eclipse per i linguaggi diversi da PHP5).
Oppure a mano code level via git, generando i le diff prima.

http://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git


2012/2/14 Matteo Passerini <pas...@gmail.com>:

> --
> _____________________
> http://groups.google.com/group/admins-gallug?hl=it
>
> GalLUG - Galliate LUG & Novara XPug
> Circolo ANSPI B.Quagliotti – CF 01103280036
> Viale Quagliotti, 1 - Galliate (NO)
> Tel/Fax: 0321.806832 - in...@gallug.it - www.gallug.it
> _____________________

> Per mandare una mail al gruppo: admins...@googlegroups.com
> Per disiscriverti mail vuota a: admins-gallu...@googlegroups.com

--
Fabio Mora - System Administrator | Web Developer
ma...@fabio.mora.name / +39.340.1504097
Via Buozzi, 5 - 28066 Galliate (NO - Italy)
LinkedIn: http://goo.gl/dIXH | Facebook: http://goo.gl/vFN7w
_______________________
Libera il pianeta! Usa Linux! - http://www.gallug.it

Matteo Passerini

unread,
Feb 15, 2012, 1:53:47 AM2/15/12
to novar...@googlegroups.com, Staff GalLUG
Grazie mille a tutti per i chiarimenti!
Leggerò i vari link e vedremo di trovare la soluzione più easy in merito.

Giuseppe se ti piace il copione ti posso cedere volentieri i diritti XD
Reply all
Reply to author
Forward
0 new messages