Pergunta

Eu criei uma tag chamada v1.5 de um galho.Depois de alguns testes encontrei alguns bugs e parece que tenho que propagar essas mudanças para tag/v1.5.Mas vejo alguns comentários que não sugerem tal prática de atualizar ou mesclar uma tag.

Minha pergunta é qual a melhor maneira de lidar com situações como essa.Provavelmente excluir a tag e recriá-la a partir da revisão principal da ramificação?

Foi útil?

Solução

Tags, ramos, etc. Não faz sentido para o Subversion, eles são apenas pastas e você pode fazer o que quiser. No entanto, existem boas práticas e tags significam algo que você nunca muda. Você deve ter um fluxo de trabalho e ficar com isso.

Por exemplo, fazemos novos desenvolvimentos no tronco. Quando estiver pronto, criamos uma filial, como 1,5 e criamos tags, como 1.5.1, 1.5.2, 1.5.3, etc. Nós adicionamos correções de bugs e criamos novas tags, não adicionamos novos recursos para ramos, e nunca mudamos as tags. Em seguida, fundimos as correntes de bugs do ramo para tronco quando há novos desenvolvimentos. É um fluxo de trabalho muito comum.

Aqui está um artigo mais longo , o que eu descrevi acima é chamado "estável Liberar o modelo "Aqui, há uma boa imagem para mostrar o que acontece onde. Há também alternativas e uma longa discussão. Eu amo esses gráficos, Aqui está outro , Mas é um pouco confuso, as flechas não devem atravessar tags, as tags devem ser sempre um beco sem saída.

Outras dicas

a melhor prática é não excluir tags na verdade, as tags não devem ser tocadas, são apenas rótulos, embora seja verdade que tudo é uma pasta em qualquer repositório svn, a prática é normalmente trabalhar em trunk, atualizar branches em caso de bugs, e saia tags como marcadores para histórico de trabalho anterior para referência, filiais também podem ser usadas para trabalho separado, a melhor prática é trabalhar com um único padrão de tronco único de linha principal e evitar ramificações tanto quanto possível (integração de entrega contínua), mas no seu caso eu faria ramificar para tag e atualizá-lo e depois mesclar de volta ao tronco. tags foram feitos para ficar.o que eu faria é copiar o tag dentro de branch com o nome da filial e faça a atualização lá.Então eu iria merge de volta para trunk.para mesclagens automáticas existe um utilitário legal para svn chamado utilitário de fusão automática

Google e Facebook adotaram o desenvolvimento baseado em tronco.desenvolvimento Nos materiais acima, esses Googlers falaram sobre como trabalhar no HEAD e que os checkins acontecem no HEAD o tempo todo.Ashish diz trunk algumas vezes no final de uma seção de perguntas e respostas, e menciona evitar ramificações para desenvolvimento contínuo (nada a ver com lançamentos em si).Portanto, é oficial, Trunk Based Development (TBD) é o que o Google faz, e cara, eles o escalam!(http://paulhammant.com/2013/05/06/googles-scaled-trunk-based-development/)

Tags no SVN é (convencionalmente) RO subtree.Se você mudou depois de criar código de tag, você deve criar nova tag do código alterado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top