Existe um oposto para o termo "Backporting"?

20

Pelo que entendi, o termo "Backporting" é usado para descrever uma correção aplicada em uma versão futura que também é portada para uma versão anterior. A definição da Wikipedia é a seguinte:

Backporting é a ação de executar uma determinada modificação de software (patch) e aplicá-la a uma versão mais antiga do software para a qual foi criada inicialmente. Faz parte da etapa de manutenção em um processo de desenvolvimento de software ...

Por exemplo:

  • Um problema foi descoberto e corrigido na V2.0. A mesma correção é portada e aplicada à V1.5.

Qual é o termo quando isso é feito na direção oposta?

  • O problema foi descoberto e corrigido na V1.5. A mesma correção é portada e aplicada à V2.0.

O termo "Backporting" ainda se aplica? Ou existe um termo como "Forwardporting" (que soa divertido como "Port Forwarding")?

Avian00
fonte
1
E quanto a "propagação"?
Gill Bates

Respostas:

28

É o mesmo que o oposto de uma barra invertida. Todo mundo quer chamar isso de barra, mas na verdade é apenas uma "barra". O oposto de backporting é simplesmente "portar".

Karl Bielefeldt
fonte
"Portar" é um termo mais geral e pode ser aplicado a qualquer transferência de código, mesmo entre idiomas. Na minha empresa, usamos "forward-portting" para o caso específico descrito nesta pergunta.
Marko Topolnik
14

Isso geralmente não acontece, pois você corrige o problema na base de código V2.0 e, opcionalmente, o suporta. :) Em termos de controle de versão, isso é chamado simplesmente merging.

awdz9nld
fonte
3
Isso acontece porque V1.xe V2.x coexistem e são mantidos em paralelo, cada um em sua própria ramificação de manutenção. Um bug de versão cruzada pode ser descoberto e corrigido de qualquer lado.
Marko Topolnik
3
Se a V1.5 já tiver sido lançada, mas a V2.0 for lançada no futuro, você primeiro corrige o problema na V1.5, porque esta versão já é usada pelos clientes e precisa ser mais urgente. Depois, você move a correção para a V2.0.
precisa saber é o seguinte
@ user1364368 o gerenciamento de versões é uma preocupação ortogonal. faz mais sentido corrigir o bug na versão mais recente da base de código, pois ela contém mais informações (seu histórico de alterações é um superconjunto do histórico de alterações da versão anterior). pense nisso de uma maneira diferente: desconsidere que a mudança está relacionada a um bug. você ainda prefere introduzir alterações em uma versão mais antiga? por exemplo, você começaria o desenvolvimento de recursos em uma versão mais antiga da base de código? isso se reduz rapidamente a uma estratégia de desenvolvimento sem sentido e recursiva
awdz9nld 4/17/17
@ MartinKällman O chefe da base de código (para V2.0) pode estar (devido ao trabalho de desenvolvimento atual) em um estado que não permite o desenvolvimento da correção. Pode levar dias ou semanas até que o cabeçote da base de código esteja limpo novamente, mas você não pode esperar muito para a correção de emergência.
precisa saber é o seguinte
1

Acho que usaria os termos: à prova de futuro ou, como alternativa, compatibilidade futura :

Da Wikipedia à prova de futuro :

Prova futura: a frase prova futura descreve o processo exclusivo de tentar antecipar desenvolvimentos futuros, para que ações sejam tomadas para minimizar possíveis consequências negativas e aproveitar oportunidades.

E compatibilidade direta :

Compatibilidade direta ou compatibilidade ascendente (às vezes confundida com extensibilidade) é um conceito de compatibilidade para o design de sistemas, como por exemplo, compatibilidade com versões anteriores. A compatibilidade de encaminhamento visa a capacidade de um design aceitar normalmente entradas destinadas a versões posteriores de si mesmo.

Ou ambos "à prova de futuro através da compatibilidade com a frente".

Oh o buzzwordry :)

dukeofgaming
fonte
0

Fazer backport na direção oposta é apenas portar , mas não há razão para fazer isso no contexto que você descreve.

Caleb
fonte
0

Penso que o termo "backport" se refere apenas à ação de trazer um recurso de um novo lançamento de um programa para um mais antigo do mesmo programa, para os benefícios de ainda usá-lo.

Como você não desenvolve um novo recurso em versões antigas e fechadas, não existe backport "reverso" (se, por definição, a versão não é antiga).

O que você está chamando de "encaminhamento", corrigindo um problema tanto em versões antigas quanto em novas, é uma mera correção ou bug.

Albireo
fonte
-1

Não há um termo comumente usado para mesclar um conjunto de alterações de um ramo de software mais antigo para um mais novo. A menos que a ramificação mais recente do software seja altamente instável, a maioria dos desenvolvedores desenvolverá correções de bugs na ramificação mais recente do software, independentemente da versão em que o bug foi encontrado. Isso é feito para reduzir conflitos de mesclagem desde que a ramificação mais recente do software seja alterada. com mais frequência do que ramos mais antigos. Qualquer bug de software relatado por um cliente é, por definição, relatado em uma versão anterior à corrigida, pois o cliente não tem acesso à ramificação mais recente do seu software.

EsotericNonsense
fonte
true, a menos que seu cliente queira uma correção AGORA.
Alex R
-1

Eu vim aqui procurando uma resposta porque estou escrevendo um comentário de confirmação para esse mesmo cenário. Dada a falta de jargão real para essa situação comum, vou descrevê-la como "mesclando hotfixes de produção no ramo dev".

Alex R
fonte