buongiorno a tutti
ho appena risposto su un altro 3d che ho aperto io ed ecco che sono assalito da un dubbio...
io sono uno di quei disgraziati che non usano alcuno dei software citati sopra per mantenere il codice. la mia filosofia e' quella di salvare le versioni in un bel rar/zip/tar o altro, pronto a recuperare li' i dati
sono pero' abbastanza assennato da capire che non e' il modo migliore di procedere e quindi mi sto dedicando a uno di loro
pero' l' altro giorno mi sono ritrovato a scontrarmi con il seguente problema: dopo aver realizzato la versione 3.18 di un codice mi sono dedicato alla 3.19. quest' ultima non e' ancora completa ma nel frattempo mi sono reso conto di dover fare una modifica sulla 3.18 che deve essere ereditata dalla 3.19
si puo' fare con cvs o svn? c'e' bisogno di altro? sto facendo qualcosa di assurdo?
aspetto suggerimenti. grazie in anticipo
wally 67
[RISOLTO]cvs, svn e simili. come fare se...
-
wally67
- Scoppiettante Seguace

- Messaggi: 699
- Iscrizione: giovedì 1 marzo 2007, 15:31
- Distribuzione: xubuntu 20.04 LTS x86_64 (l'unica)
[RISOLTO]cvs, svn e simili. come fare se...
Ultima modifica di wally67 il lunedì 18 ottobre 2010, 17:50, modificato 1 volta in totale.
Se io do una moneta a te e tu una a me abbiamo entrambi 1 moneta;
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
- il_muflone
- Tenace Tecnocrate

- Messaggi: 18878
- Iscrizione: venerdì 1 maggio 2009, 15:31
- Desktop: GNOME Shell
- Distribuzione: Arch Linux x86_64
- Località: Profondo sud
- Contatti:
Re: cvs, svn e simili. come fare se...
ciao
la tecnica usata da molti è quella di taggare le versioni definitive rilasciate.
normalmente si lavora sul trunk, quella è la versione di sviluppo con gli aggiornamenti fino a questo momento, tutti gli sviluppatori "zappano" liberamente sul trunk (tanto in caso di errori si può sempre tornare indietro).
quando una versione è definitiva e già rilasciata si tagga la versione, ovvero si crea una copia di tutto il progetto e si assegna un nome (3.18).
in situazioni come quelle da te citate, se ci sono difetti grossolani nella 3.18, basterà fare il checkout della versione 3.18, applicare le correzioni, rilasciarla e taggarla nuovamente (3.18.1).
lo sviluppo sul trunk invece procederà normalmente senza nessun tipo di intoppo.
ovviamente le patch se riguardano pure il trunk dovranno essere applicate anche lì.
qui vedi un esempio di un mio progetto:
http://code.google.com/p/gwakeonlan/source/browse
il trunk ovviamente è la più aggiornata ma non ancora rilasciata.
la tecnica usata da molti è quella di taggare le versioni definitive rilasciate.
normalmente si lavora sul trunk, quella è la versione di sviluppo con gli aggiornamenti fino a questo momento, tutti gli sviluppatori "zappano" liberamente sul trunk (tanto in caso di errori si può sempre tornare indietro).
quando una versione è definitiva e già rilasciata si tagga la versione, ovvero si crea una copia di tutto il progetto e si assegna un nome (3.18).
in situazioni come quelle da te citate, se ci sono difetti grossolani nella 3.18, basterà fare il checkout della versione 3.18, applicare le correzioni, rilasciarla e taggarla nuovamente (3.18.1).
lo sviluppo sul trunk invece procederà normalmente senza nessun tipo di intoppo.
ovviamente le patch se riguardano pure il trunk dovranno essere applicate anche lì.
qui vedi un esempio di un mio progetto:
http://code.google.com/p/gwakeonlan/source/browse
il trunk ovviamente è la più aggiornata ma non ancora rilasciata.
Ultima modifica di il_muflone il lunedì 18 ottobre 2010, 13:10, modificato 1 volta in totale.
http://www.muflone.com - I miei contatti e i miei progetti - La guida completa a VirtualBox
Non mandatemi messaggi privati per chiedere aiuto, li cancello senza rispondere nemmeno.
Non mandatemi messaggi privati per chiedere aiuto, li cancello senza rispondere nemmeno.
-
wally67
- Scoppiettante Seguace

- Messaggi: 699
- Iscrizione: giovedì 1 marzo 2007, 15:31
- Distribuzione: xubuntu 20.04 LTS x86_64 (l'unica)
Re: cvs, svn e simili. come fare se...
ciao muflone, grazie della risposta
la ho riletta un paio di volte perche' la ho trovata piuttosto ostica ::) comunque alla fine ci sono arrivato
c'e' pero' ancora qualcosa che mi sfugge: la versione in corso o trunk non ha ancora un nome (non e' ancora 3.19) ma il suo codice gia' esiste con alcune (o molte) variazioni rispetto alla 3.18
correggo la 3.18 per produrre la 3.18.1 ma cosa e' successo della "3.19"? le modifiche relative alla 3.18.1 passano automaticamente al nuovo trunk (quella che ho gia' cominciato a sviluppare)? o me le sono fumate e mi tocca rifarle?
e giusto per curiosita', se volessi fare uno split (o derivazione o branch, non so come meglio definirla) come posso fare?
e grazie ancora delle spiegazioni
wally 67
la ho riletta un paio di volte perche' la ho trovata piuttosto ostica ::) comunque alla fine ci sono arrivato
c'e' pero' ancora qualcosa che mi sfugge: la versione in corso o trunk non ha ancora un nome (non e' ancora 3.19) ma il suo codice gia' esiste con alcune (o molte) variazioni rispetto alla 3.18
correggo la 3.18 per produrre la 3.18.1 ma cosa e' successo della "3.19"? le modifiche relative alla 3.18.1 passano automaticamente al nuovo trunk (quella che ho gia' cominciato a sviluppare)? o me le sono fumate e mi tocca rifarle?
e giusto per curiosita', se volessi fare uno split (o derivazione o branch, non so come meglio definirla) come posso fare?
e grazie ancora delle spiegazioni
wally 67
Se io do una moneta a te e tu una a me abbiamo entrambi 1 moneta;
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
- il_muflone
- Tenace Tecnocrate

- Messaggi: 18878
- Iscrizione: venerdì 1 maggio 2009, 15:31
- Desktop: GNOME Shell
- Distribuzione: Arch Linux x86_64
- Località: Profondo sud
- Contatti:
Re: cvs, svn e simili. come fare se...
tutto ciò che hai modificato nella 3.18.1 non passa automaticamente nel trunk, sono totalmente indipendenti.
dovrai rifare le modifiche anche per il trunk oppure dovrai creare delle patch delle differenze tra 3.18 e 3.18.1.
ovviamente è una situazione pericolosa, potresti anche reintrodurre difetti già corretti nel trunk.
le branch svolgono quasi lo stesso ruolo dei tag ma sono usate per versioni in sviluppo.
in svn una branch si crea semplicemente con
svn copy trunk branches/3.18.1
e copierà la cartella trunk LOCALE (non quella salvata nel repository) dentro branches/3.18.1
al primo commit verrà spedita anche la copia branches/3.18.1
sebbene si usino alla stessa maniera, tieni ben chiara la differenza.
i tag sono per le versioni già rilasciate
le branch sono per le versioni ancora in sviluppo, esattamente come il trunk.
dovrai rifare le modifiche anche per il trunk oppure dovrai creare delle patch delle differenze tra 3.18 e 3.18.1.
ovviamente è una situazione pericolosa, potresti anche reintrodurre difetti già corretti nel trunk.
le branch svolgono quasi lo stesso ruolo dei tag ma sono usate per versioni in sviluppo.
in svn una branch si crea semplicemente con
svn copy trunk branches/3.18.1
e copierà la cartella trunk LOCALE (non quella salvata nel repository) dentro branches/3.18.1
al primo commit verrà spedita anche la copia branches/3.18.1
sebbene si usino alla stessa maniera, tieni ben chiara la differenza.
i tag sono per le versioni già rilasciate
le branch sono per le versioni ancora in sviluppo, esattamente come il trunk.
http://www.muflone.com - I miei contatti e i miei progetti - La guida completa a VirtualBox
Non mandatemi messaggi privati per chiedere aiuto, li cancello senza rispondere nemmeno.
Non mandatemi messaggi privati per chiedere aiuto, li cancello senza rispondere nemmeno.
-
wally67
- Scoppiettante Seguace

- Messaggi: 699
- Iscrizione: giovedì 1 marzo 2007, 15:31
- Distribuzione: xubuntu 20.04 LTS x86_64 (l'unica)
Re: cvs, svn e simili. come fare se...
niente da dire:sei di una cortesia squisita!
grazie mille (b2b)
wally 67
wally 67
Se io do una moneta a te e tu una a me abbiamo entrambi 1 moneta;
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
ma se io do una idea a te e tu una a me abbiamo entrambi 2 idee.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 10 ospiti