It is currently 1 August 2021, 23:57 Advanced search

Aiuto per gestire il versioning dei componenti

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Aiuto per gestire il versioning dei componenti

Postby f.faleschini » 7 June 2021, 10:28

Ciao.

Vorrei capire come versionare i componenti al meglio.

Faccio un esempio così mi riesco a spiegare meglio.
Io ho un componente Tools in cui ho delle classi che mi tornano utili in più progetti.

Fino ad oggi ho modificato Tools e l'ho reimportato in tutti i miei progetti e la cosa funziona.

Ora però ho la necessità di rilasciare la versione 2021.0 di Tools e iniziare a sviluppare la 2021.5 che aggiunge alcune funzioni.

I progetti che usano la 2021.0 possono tecnicamente restare alla 2021.0 senza usare necessariamente la 2021.5.

Ci sono due approcci che so seguire:
1) branch su teamworks: faccio un branch su teamworks (o in assenza di teamworks duplico il progetto), in quetso caso perà il componente 2021.0 ha un GUID diverso
2) cambio la versione del componente nel progetto e faccio in modo che esportare il componente diventi una sorta di build, per cui fino al giorno X il componente si è chiamato 2021.0, lo esporto e ho "la 2021.0", poi dal giorno X+1 lo chiamo 2021.5 e quando lo esporto ottengo la 2021.5

L'approccio (2) mi agevola in quanto essendoci sempre lo stesso GUID quando importo il componente in un progetto mi sovrascrive il componente correttamente, altrimenti (1) mi crea un nuovo componente e dovrei a mano andare a staccare il vecchio, chiamata per chiamata, e collegare il nuovo.

Quindi mi sa che solo il (2) è fattibile, però ho un limite: diciamo che devo pathcare il 2021.0 quando sto lavorando al 2021.5: non ho un branch e non posso. Oppure posso usare lo snapshot di teamworks per tornare indietro.

Questa è una possibile soluzione, ma ho molta "nebbia", qualcuno può condividere la sua esperienza?

Vorrei sapere che tecnica usate per gestire il versioning dei componenti.

Grazie!

Buona giornata!
f.faleschini
 
Posts: 742
Joined: 12 April 2017, 9:09

Re: Aiuto per gestire il versioning dei componenti

Postby r.bianco » 7 June 2021, 12:02

Finora, lo abbiamo evitato. Mi spiego:
Tutti i progetti, componenti compresi, sono su TW. Se siamo due sviluppatori, esistono tre utenti TW: sviluppatore1, sviluppatore2, pubblicazione.
Il terzo utente TW serve per avere un progetto con la versione pubblicabile di tutti i progetti, escludendo quindi tutto ciò che è ancora in lavorazione o non è stato testato.
In questa modalità non c'è un vero e proprio versionamento, nel senso che la versione pubblicabile è sempre una sola.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4473
Joined: 8 November 2010, 16:46

Re: Aiuto per gestire il versioning dei componenti

Postby f.faleschini » 7 June 2021, 13:12

Grazie per la tua condivsione.

Ho capito il trucco ed è tuttosommato simile al mio (2).

Io stesso ho pensato di "marcare la pubblciazione" usando una speciale sintassi, ad esempio per pubblicare la versione 2021.0 nelle note di checkin scriverei "##2021.0##", però il tuo trucco di usare un utente dedicato chiamato "pubblicazione" è decisamente migliore. Lo aggiungo alle cose su cui meditare.

Grazie ancora!

Buona giornata!
f.faleschini
 
Posts: 742
Joined: 12 April 2017, 9:09

Re: Aiuto per gestire il versioning dei componenti

Postby r.bianco » 7 June 2021, 15:33

:)
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4473
Joined: 8 November 2010, 16:46


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 19 guests

cron