Biforcato un progetto, da dove iniziano i miei numeri di versione?

11

Ho biforcato un progetto e ne ho cambiato molto. Questa forcella non è solo un piccolo cambiamento di funzionalità qui e una correzione di bug sepolto lì, è un cambiamento piuttosto sostanziale. Solo la maggior parte del codice principale è condivisa.

Ho biforcato questo progetto alla v2.5.0. Per un po 'ho avviato il versioning della mia forcella alla v3.0. Tuttavia non sono sicuro se questo è il modo giusto, soprattutto perché quando quel progetto raggiunge la v3.0, le cose diventano confuse. Ma non voglio ricominciare da v1.0 o v0.1 perché ciò implica l'infanzia, l'instabilità e la non-arrendevolezza di un progetto. Questo non è vero, poiché la maggior parte del codice base è molto raffinato e stabile.

Sono davvero perso su cosa fare, quindi ti chiedo qui: qual è il modo standard per affrontare questo tipo di situazione? La maggior parte delle forcelle ricomincia da capo, rilancia i numeri di versione o fai qualcos'altro di cui non sono a conoscenza.

    
posta TheLQ 29.12.2010 - 04:21
fonte

5 risposte

12

La maggior parte delle forcelle che ho visto ricomincia dalla versione 1.0. Ma suppongo che tu abbia anche cambiato il nome della tua forchetta, quindi non sono sicuro del motivo per cui ci sarebbe confusione se avessi semplicemente iniziato dalla v3.0.

Quello che vorrei fare è cambiare il nome del progetto, rilasciare la versione 1.0 e chiarire che il progetto è un fork di un altro progetto. Non credo che ci sarà alcuna confusione con questo approccio.

Se sei davvero preoccupato per l'etichetta "1.0", rilascia semplicemente la versione 2.0 poco dopo 1.0 ...

    
risposta data 29.12.2010 - 05:00
fonte
5

Avere la propria roadmap e attenersi ad essa, iniziando dal numero della versione originale, ma non cercare di competere con la versione corrente del prodotto originale.

    
risposta data 29.12.2010 - 04:56
fonte
3

Potresti considerare se (e quanto) il tuo progetto sarà correlato con quello originale. Se hai intenzione di trasferire nuove funzionalità dal progetto originale al tuo, potresti considerare di mantenere i numeri di versione corrispondenti alle versioni dell'originale.

Come esempio, controlla MariaDB, che è un fork di MySQL. Vogliono tenerlo un sostituto "drop-in" per MySQL, quindi per esempio MariaDB 5.2 ha tutte le funzionalità di MySQL 5.2.

Vedi: link

Nota: Da quando è stata pubblicata questa risposta, MariaDB si è notevolmente discostata da MySQL e ora sta seguendo il proprio schema di versioning.

    
risposta data 29.12.2010 - 11:58
fonte
1

0,1 può indicare l'infanzia, ma verion 1.0+ significa stabile. Un aumento dei numeri di versione principali, ad esempio 2.0, 3.0, indica generalmente un cambiamento di funzionalità di grandi dimensioni.

Ad esempio

  • La versione 1.0 della mia applicazione era uno strumento per eseguire script di test con l'installazione,
  • La versione 2.0 ha rimosso la differenziazione tra script di test e script di installazione dell'ambiente,
  • La versione 3.0 ha aggiunto una GUI per la scrittura di script come diagrammi di flusso. Sono prodotti riconoscibilmente diversi, ma anche la Versione 1 era un prodotto funzionante, completamente stabile ecc. Le versioni 2 e 3 sono nate perché si è deciso che questi grandi cambiamenti sarebbero stati positivi. Se non avessimo voluto questi grandi cambiamenti, e avessimo continuato a fare correzioni di bug, ecc. I numeri di versione minori sarebbero aumentati di 1.10,1.20, ecc. E sarebbe andato bene.

Quello che sto dicendo è che i numeri di versione principali non indicano la maturità, indicano i principali set di funzionalità. Questo è stato un po 'tangibile rispetto al numero di versione del tuo prodotto.

Quello che ho visto prima, che mi è piaciuto calmo era avvia nuovamente il versioning da 1.0 (o da 3.0 se lo preferisci) e poi tra parentesi che dicono da quale versione dell'originale sono state estratte le caratteristiche.

  • Inizialmente: " MyFork v1.1 (basato su OrigProg v3.0)
  • Alcune improvenet apportate a MyFork: MyFork v1.3 (basato su OrigProg v3.0)
  • OrigProg ha rilasciato una versione principale e MyFork ha tirato e unito: MyFork v2.1 (basato su OrigProg v4.0)
  • Apportate alcune modifiche importanti a MyFork (probabilmente non sarà più possibile fondersi facilmente con OrigProg): MyFork v3.0 (basato su OrigProg v4.0)
risposta data 24.02.2014 - 01:12
fonte
0

Se possibile, unisci la tua forcella al progetto originale. Non posso sottolineare abbastanza.

Registra i tuoi numeri di versione, quindi usa quello che hai biforcato da più un suffisso di data.

    
risposta data 29.12.2010 - 12:38
fonte

Leggi altre domande sui tag