[RISOLTO]cvs, svn e simili. come fare se...

Il ritrovo della comunità dove confrontarsi e discutere sulle notizie dal mondo dell'informatica, di Ubuntu e di tutto quello che la riguarda, novità, pettegolezzi e quant'altro.
wally67
Scoppiettante Seguace
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...

Messaggio da wally67 »

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
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.
Avatar utente
il_muflone
Tenace Tecnocrate
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...

Messaggio da il_muflone »

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.
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.
wally67
Scoppiettante Seguace
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...

Messaggio da wally67 »

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
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.
Avatar utente
il_muflone
Tenace Tecnocrate
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...

Messaggio da il_muflone »

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.
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.
wally67
Scoppiettante Seguace
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...

Messaggio da wally67 »

niente da dire:sei di una cortesia squisita!  ;D  grazie mille  (b2b)

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.
Scrivi risposta

Ritorna a “Bar Ubuntu”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 10 ospiti