2010-03-20 15 views
5

Questa domanda riguarda l'etichetta e i progetti open source.Etichetta: la versione bump della mia forcella del progetto opensource?

Ho biforcato un'applicazione da github e aggiunto due nuove funzionalità.

  1. Il prima caratteristica è stata richiesta spesso altrove. L'ho aggiunto. L'implementazione del codice & è pulita (credo).

  2. La seconda funzione è più di un trucco. Sarà utile per gli altri, ma l'implementazione è un po 'sporca nell'uso e ancor più nel codice. Ho bisogno della funzionalità, ma non ho le competenze per implementarlo completamente correttamente o ad un livello che potrebbe essere considerato un , mentre la contrabbazione è per il progetto principale.

Come dovrebbe funzionare il controllo delle versioni? Devo solo aumentare i numeri di versione senza problemi e spingere verso la mia filiale principale?

È fastidioso sapere quale versione è in esecuzione, modificata o originale, poiché entrambi hanno lo stesso numero di versione. Ma sarà confuso quando, mesi dopo, la mia pagina github avrà un numero di versione uguale all'originale, ma entrambi sono in realtà completamente diversi. (Ho fatto le richieste di trazione ecc, ma che non è il contesto della mia domanda.)

Il progetto che ho biforcuta utilizza rubino gioielliere così ha un formato delle versioni di:

gioielliere tiene traccia della versione del progetto. Presume che utilizzerai una versione nel formato x.y.z.

x è la versione "principale", y è la versione "minore" e z è la versione della patch.

Questo standard è disponibile anche per altri progetti/lingue? I miei cambiamenti sono patch?

Grazie

risposta

4

Questo non può essere risolto facilmente. La gestione del numero di versione varia tra i progetti e i tuoi obiettivi. Vedi la tua forcella come un problema temporaneo? - Quindi, in molti casi (potrebbe essere diverso con le riscritture più grandi, ad esempio), non aumenterò il numero di versione perché è compito del leader del progetto.

Molti schemi di versioning consentono di estendere il numero di versione a qualcosa come 1.2.3-ross, che aiuta gli utenti a presentare report di bug appropriati.

Se si pianifica un fork più lungo si dovrebbe trovare uno schema di versioning che funzioni per voi.

1

diversi pezzi di software dalla stessa base di codice, ma con il contenuto differente funzione dovrebbero avere diversi numeri di versione in qualche modo - quindi è necessario cambiare qualcosa nel numero di versione (o il nome del prodotto).

Avete in programma di inviare la prima modifica al progetto? (Probabilmente dovresti.)

È la seconda funzione, l'hack, quella che migliorerai nel tempo? Potresti tenerlo sul proprio ramo di sviluppo, quindi è più facile da mantenere separatamente mentre si continuano a importare gli aggiornamenti dal progetto principale.

Oppure hai intenzione di rimanere separato dal progetto principale per sempre? In tal caso, dovresti prendere in considerazione la ridenominazione del software e la modifica della versione, o in qualche modo chiarire che la versione è tua e non la loro.

+0

sì ho inviato una richiesta di pull & ha detto l'autore, ma sentito nulla di nuovo. Non continuerò lo sviluppo su nessuna delle due funzioni. Ho quello che voglio. (Per non egoisticamente, c'è un completo riscrittura in un nome diverso di langauge/progetto, dove si verificherà la seconda caratteristica, ma non è stabile). – Ross

1

Se si intende fork, vale a dire non unire mai indietro con upstream, quindi prendere in considerazione la ridenominazione del progetto.

Altrimenti, è comune l'uso di un numero di versione che indica il ramo e changeset essendo corse ala -git-ross-12345

Problemi correlati