Eu criei um projeto e mudei muito dele. Esse garfo não é apenas uma pequena alteração de recurso aqui e uma correção de bug oculta, é uma mudança substancial. Somente a maior parte do código principal é compartilhada.
Bifurquei este projeto na v2.5.0. Por um tempo, comecei a versionar meu fork na v3.0. No entanto, não tenho certeza se esse é o caminho certo, principalmente porque quando esse projeto atinge a v3.0, as coisas ficam confusas. Mas não quero recomeçar na v1.0 ou v0.1, porque isso implica infância, instabilidade e não refindness de um projeto. Isso não é verdade, pois a maior parte do código principal é muito refinada e estável.
Estou realmente perdido no que fazer, então pergunto aqui: Qual é a maneira padrão de lidar com esse tipo de situação? A maioria dos garfos começa de novo, aumenta os números de versão ou faz outra coisa que eu não conheço.
fonte
Respostas:
A maioria dos garfos que eu vi começar de novo a partir da versão 1.0. Mas suponho que você também alterou o nome do seu fork, então não sei por que haveria confusão se você simplesmente partisse da v3.0.
O que eu faria é alterar o nome do projeto, liberar a versão 1.0 e deixar claro que o projeto é uma bifurcação de outro projeto. Eu não acho que haverá alguma confusão com essa abordagem.
Se você está realmente preocupado com o rótulo "1.0", basta lançar a versão 2.0 logo após 1.0 ...
fonte
Tenha seu próprio roteiro e cumpra-o, começando com o número da versão original, mas não tente competir com a versão atual do produto original.
fonte
Você pode considerar se (e quanto) seu projeto será relacionado ao projeto original. Se você planeja transportar novos recursos do projeto original para o seu, considere manter seus números de versão correspondentes às versões originais.
Como exemplo, confira o MariaDB, que é um fork do MySQL. Eles querem mantê-lo um substituto do MySQL, por exemplo, o MariaDB 5.2 tem todos os recursos do MySQL 5.2.
Veja: http://kb.askmonty.org/v/mariadb-versus-mysql
Nota: Desde que esta resposta foi publicada, o MariaDB divergiu substancialmente do MySQL e agora segue seu próprio esquema de versão.
fonte
0.1 pode indicar infância, mas a versão 1.0+ significa estável. Um aumento nos principais números de versão, por exemplo, 2.0, 3.0, geralmente indicava uma grande alteração de recurso.
Por exemplo
O que estou dizendo é que números de versão principais não indicam maturidade, eles indicam conjuntos de recursos principais. Agora isso era um pouco tangente de como número da versão do seu produto.
O que eu vi antes, do qual eu gostei muito, foi começar a versão novamente a partir da 1.0 (ou da 3.0 se você realmente preferir) e depois entre parênteses dizendo qual versão do original ele possuía os recursos da última vez.
fonte
Se possível, mescle o garfo de volta ao projeto original. Eu não posso enfatizar isso o suficiente.
Recuperando seus números de versão, use o número do qual você bifurcou mais um sufixo de data.
fonte