Le mie scuse se la mia domanda non sarà chiara in quanto non ho esperienza nel campo del versioning di prodotti / progetti. E a partire: ho un progetto che ha più librerie e dipendenze di fonti di dati e ogni libreria dipende da un'altra libreria o fonte di dati. Ad esempio:
<-- L1 <-- L2 <-- DS1
P1 |
<--------- L3 <----|
Dove P1
è il progetto, L1-3
è librerie e DS1
è un'origine dati. DS1
non ha funzionalità, semplicemente aggiungendo o rimuovendo dati da esso. L'output finale del progetto P1
è una tabella di dati. In un punto di vista il progetto non è un software ma i dati.
Quello che voglio è usare un "sistema di controllo delle versioni" che incorpori le modifiche in ogni libreria o fonte di dati.
E qui ci sono i miei pensieri.Inizialmente ho pensato a quanto segue:
-
P1
avrà unalpha
, versione beta 'beta' (che dipende sempre dalle versioni di librerie e origini dati).
Le librerie - avranno un semantico simile al versioning e
- fonti di dati solo un numero incrementale (ecc 1,2,3 ecc.)
E questo sarebbe stato rilasciato internamente come:
--------------------------------------
|project Ver| L1 | L2 | L3 | DS1 |
|--------------------------------------|
| A | 1.0 | 1.1 | 1.3 | 1 |
| B | 1.2 | 1.2 | 1.4 | 1 |
| C | 1.4 | 1.3 | 1.5 | 1 |
| D | 1.5 | 1.5 | 2.8 | 2 |
.
.
.
Ma come ho detto prima alcune librerie sono dipendenti da alcune altre librerie o origini dati e queste informazioni non sono in quella tabella. Come può incorporarlo?
Se un'origine dati modifica la versione (modifica dei dati) se la versione dipendente cambia o rimane invariata?
Genneralmente, come si potrebbe ignorare questo problema? Qualsiasi informazione è utile.