Newsgroup: it.lavoro.informatica
Titolo: consiglio su vcs

ho un progetto basato su opencart (per chi non lo conoscesse è un 
e-commerce)
 
ho la necessità di scrivere dei "moduli" aggiuntivi e vorrei effettuare 
il versioning tenendoli separati
 
opencart ha la seguente struttura
 
 
catalog/
  controller
  language
  model
  view
 
e i file relativi ad ogni "modulo" devono (nel senso che non si può 
fare altrimenti) essere inseriti come directory all'interno della sua 
struttura, quindi per un modulo my_1st_module avrò
 
 
catalog/
  controller/my_1st_module/my_file.php
  language/my_1st_module/my_file.php
  model/my_1st_module/my_file.php
  view/my_1st_module/my_file.php
 
per un ipotetico secondo modulo my_2nd_module avrò
 
catalog/
  controller/my_2nd_module/my_file.php
  language/my_2nd_module/my_file.php
  model/my_2nd_module/my_file.php
  view/my_2nd_module/my_file.php
 
sono alla ricerca di un sistema di versioning che mi consenta di tenere 
traccia in modo separato delle modifiche ai vari moduli, in modo da 
poter fare push e pull su altre installazioni in modo agevole ed 
effettuare l'export dei soli file relativi ai singoli moduli.
 
ogni consiglio è ben accetto
 
grazie per aver letto fin qui :)
 
 
 
 
 
 
 
 
-- 
mi piacerebbe assai che gente come te (te lo devo concedere: siete
parecchi) emanasse un particolare ormone, perfettamente distinguibile
al naso di un cane, e che sotto una slavina, per esempio, il cane
segnali la presenza di uno come te urinandoci sopra.
 
 

 effettuare l'export dei soli file relativi ai singoli moduli.
 
Io uso GIT con gran soddisfazione, leggero, veloce, intuitivo. Inoltre é
integrato in NetBeans, comodissimo!!
 
-- 
g4b0, linux user n. 369000
http://brosulo.net
 

 effettuare l'export dei soli file relativi ai singoli moduli.
 
Non è esattamente chiaro, almeno per me, cosa intendi con push e pull, ma suppongo tu voglia avere diversi branch, e fare merge quando devi includere un modulo.
 
Ci sono diversi approcci. Puoi avere un branch con tutti i moduli, chiamiamolo head:
 
head/catalog/controller/moduleA
head/catalog/controller/moduleB
..
 
e da li fare branch del modulo sulle varie istanze di quello che ti serve:
 
instanceA/catalog/controller/moduleA
 
instanceB/catalog/controller/moduleA
 
instanceC/catalog/controller/moduleA
instanceD/catalog/controller/moduleB
 
Dal punto di vista tecnologico, tutti i SCM moderni decenti dovrebbero permetterti cose simili in maniera abbastanza semplice.
 
Git è un ottimo suggerimento, se compri il servizio minimo da Github, parte da circa 5,55 Euro al mese: 
https://github.com/plans
 
 
Se ti piace più TFS, puoi provare TFSpreview, che dovrebbe essere ancora gratuito, e poi magari ci vieni a raccontare come ti trovi:
 
http://tfspreview.com/
 
http://blogs.msdn.com/b/bharry/archive/2011/09/14/team-foundation-server-on-windows-azure.aspx
 
 
Ovviamente puoi anche scegliertene altri, locali o remoti, dipende dalle tue esigente, da quanto è grande il tuo team, dal know how, ...
 
-- 
ale
http://ale.riolo.co.uk
 

 esigente, da quanto è grande il tuo team, dal know how, ...
 
-- 
 tieni conto che il paesello al massimo ha 20000 abitanti e non ci 
passa un turista manco se gli rapisci i figli e glieli minacci di morte
 
 

post partito per sbaglio
 
scusate :(
 
-- 
tu sei giovane
io se leggo i subbi non vedo gli zombi.
e se vedo gli zombi non leggo i subbi.
in inglese/ammerigano mi fa mooolta fatica.
 
 

 permetterti cose simili in maniera abbastanza semplice.
 
dicevo ...
 
uso già mercurial in modo molto basilare
 
non ho mai approfondito il discorso del branching poichè la struttura 
"decentralizzata" di mercurial mi consente di lavorare su installazioni 
diverse dello stesso prodotto (metodo di lavoro che uso per progetti in 
cui ogni singolo modulo risiede in una sua directory)
 
da una lettura veloce sull'argomento mi sembra di capire che ogni 
branch dovrebbe contenere l'intera installazione ma non capisco come 
questo mi aiuti a fare il commit dei soli file che appartengono al 
modulo
 
 
ovviamente approfondirò questo tema quanto prima
 
-- 
se n'e' parlato meno di un mese fa. pare l'asilo per i vecchi
coll'alzaimer.
 
 

 effettuare l'export dei soli file relativi ai singoli moduli.
 
beh penso che qualsiasi vada bene da questo punto di vista, non è un 
problema di vcs: ti è sufficiente creare un repository per progetto tutti 
con l'alberatura delle directory completa. fra l'altro ho fatto una breve 
ricerca su github e c'è il conforto di qualche esempio.
 

 con l'alberatura delle directory completa
 
è proprio quello che volevo evitare :(
 
mi sa che non esiste una maniera "pulita" per fare quello che voglio
 
 
 
 
-- 
le cene le organizza kuaskio
il problema è che prenotano per 30, ma 20 sono feic di kuaskio
 
 

 uso già mercurial in modo molto basilare
 
Non uso mercurial, ma un velocissimo sguardo mi è bastato per capire che ha un supporto per il branching più che decente :)
 
-- 
ale
http://ale.riolo.co.uk
 

 mi sa che non esiste una maniera "pulita" per fare quello che voglio
 
Ma esattamente, cos'è che volevi fare?
Te lo chiedo perché dando uno sguardo alla documentazione di Mercurial, mi pare ci siano veramente poche cose che non si possano fare.
 
-- 
ale
http://ale.riolo.co.uk
 

 è proprio quello che volevo evitare :(
 
e perché la volevi evitare?
non mi pare una soluzione poco pulita.

 mi sa che non esiste una maniera "pulita" per fare quello che voglio
 
metti tutti i files di un progetto dentro la sua directory e poi lavori 
di link simbolici... se sei su linux...
 
 
 
 

 pare ci siano veramente poche cose che non si possano fare.
 
spero di essere stato chiaro :)
 
-- 
io gli preparo una bella cazzo di postazione griglia con abbondante 
brace avviata e poi loro si scazzano a cuocersela, cosi' la smettono di 
venirmi a spaccare i coglioni con le loro fottute verdure del cazzo. 
Che si purghino se non cagano, mannaggiaddio
 
 

Sembra che rootkit abbia detto :

un'installazione di opencart contiene questi file:
 
http://pastebin.com/yUsJ1YJs
 
 
ad esempio i file che appartengono al modulo che gestisce i prodotti in 
offerta (un modulo già incluso nell'installazione base) sono:
 
catalog/controller/module/special.php
catalog/view/theme/default/template/module/special.tpl
catalog/language/english/module/special.php
 
mentre quelli appartenenti alla gestione dei marchi trattati sono
 
catalog/controller/catalog/manufacturer.php
catalog/view/theme/default/template/catalog/manufacturer.tpl
catalog/language/english/catalog/manufacturer.php
 
quindi dovrei creare:
 
un branch con l'installazione "pulita"
 
un branch in cui andrei a modificare solo i file appartenenti al modulo 
"special"
 
un altro branch in cui modificherò solo i file appartenenti al modulo 
"manufacturer"
 
faccio qualche test ...
 
-- 
Non riesco a capire di cosa si nutre uno come te. Non sai di essere in 
posto pubblico?Non sai che potrebbe leggere anche tua moglie,tua 
figlia, tua sorella o tua mamma(sempre che sia viva dopo averti 
partorito)?
Mi aspetto una reazione pari alla tua cattiva educazione non le solite 
scuse che potrebbero farti apparire (lontanamente) ad un essere civile.
  Adios
 
 

 faccio qualche test ...
 
jazz team concert ha la suddivisone logica in componenti all'interno di 
uno stream. Ci dovrebbe essere anche una versione grauita con alcune 
limitazioni.
 
 
https://jazz.net/products/rational-team-concert/
 


Se le tue conoscenze di scm sono basilari, il clone + branch ti
conviene. Altrimenti sempre su Mercurial, io uso spesso anche più
bookmarks (hg bookmark|update) in parallelo piuttosto che i named
branches (leggi bene la doc nel caso).