Pergunta

É possível mesclar para um ramo que não é um pai direta ou criança no TFS?Eu suspeito que a resposta é não pois isso é o que eu experimentei durante o uso.No entanto, parece que em determinados momentos ele seria realmente útil quando existem diferentes características a ser trabalhada, que pode ter diferentes ciclos de aprovação (ie.recurso pode ser aprovado antes de recurso de dois).Isso se torna muito difícil quando temos a produção de ramos, onde temos que mesclar algumas recurso em um anterior do ramo para que possamos antes do lançamento da próxima versão completa.

Nossa atual estratégia de ramificação é desenvolver no tronco (ou linha principal como o chamamos), e criar um branch para estabilizar e liberação para a produção.Este ramo, em seguida, pode ser usado para criar hotfixes e outras coisas enquanto principal pode divergir para futuros recursos.

Quais as técnicas que podem ser usados de outra forma, para mitigar um cenário como o(s) descrito acima?

Foi útil?

Solução

Concordo com Harpreet que você pode querer rever como você, você tem o programa de configuração estrutura de ramificação.No entanto, se você realmente quer realizar esse tipo de série que você pode através de algo chamado de sem fundamento em série.Ele é executado a partir do tfs prompt de comando,

Tf merge /baseless <<source path>> <<target path>> /recursive

Informações adicionais sobre infundadas mescla pode ser encontrado aqui

Também achei que este documento possa ser inestimável quando construir o nosso tfs estrutura de ramificação Microsoft Team Foundation Server Ramos De Orientação

Outras dicas

tf.exe merge /recursive /baseless $/TeamProject/SourceBranch $/TeamProject/TargetBranch

Poderá pretender rever a sua estratégia de ramificação.Como você começa a produção de ramos?Você está mesclando todos os códigos dos ramos de desenvolvimento, de teste de regressão e, em seguida, a criação de um ramo de produção para correções?Ou você está em desenvolvimento no tronco e, em seguida, a criação de ramos de produção para estabilizar e lançamento de?A segunda forma, cria problemas do tipo que você está descrevendo.Se você estiver usando a primeira abordagem -- o tronco é suposto ser apenas para as coisas que foram construídas em ramos testado e mesclada, em seguida, você irá se deparar com isso com muito menos frequência.Sob essa abordagem, se você ainda estiver tendo esse problema pode ser devido a seu esforço de desenvolvimento é muito grande e você pode precisar de um relativamente complexa ramificação estratégia com camadas de ramificação e promoção.

AFAIK você pode fazer isso enquanto os ramos foram criados a partir da mesma pasta original.

  • trunk/
  • ramos/ -/feature1 (branched do tronco) -/feature2 (branched do tronco)

Se você fizer isso, você deve ser capaz de mesclar entre feature1 e feature2 bem.

Embora o meu ramos/mesclando experiência com o TFS me deixa querendo mais.Eu desejo que nós apenas tivemos SVN.

Sim, você pode fazer um infundadas direta, mas apenas a partir da linha de comando (tf.exe).

O TFS vai permitir que você mesclar com um ramo que não é um pai/mãe / filho - estes são chamados infundadas mescla.Veja estes links:

A partir do MSDN

A partir do TFS Equipe através do CodePlex

Nós normalmente maior ou desestabilizar mudanças em um ramo de desenvolvimento.Se fechar para um grande lançamento de um de nossos produtos quase todas as alterações serão feitas em um galho.

Eu estou longe de ser um TFS especialista, mas eu acho que você pode mesclar os irmãos, e eu acho que não é um fundamento de mesclagem.

Nós ramificado nosso ramo principal (ramo nome "main") para um recurso (ramo nome de "recurso"), então eu precisava de algum do trabalho em um ramo que também foi ramificado, o ramo principal (ramo nome de "dev").Eu o considero um recurso e dev ramos irmãos, ambos vieram do mesmo pai.Eu mesclado recurso para dev e todos os arquivos (14000) foram marcados como merge, alguns foram marcados como merge,edit.Eu não poderia cancelar (visual studio seria apenas travar), então eu aceito a série.Então eu mesclado dev principal, então eu puxei principal característica, e novamente 14000 arquivos foram marcados para a série.Eu estava muito chateado, e com medo iria continuar.

Neste ponto, nós fizemos um projeto de teste.Montamos principal, em seguida, ramificada dev e o recurso principal.Repetimos os passos acima com os mesmos resultados.Uma vez concluída a série de principal para recurso, todo o futuro mescla só mostrou os arquivos editados.

Depois do nosso pequeno teste que eu concluída a série a partir da principal característica.E, assim como o teste de nossa mescla agora mostrar somente os arquivos editados.Podemos ir dev para recurso, recurso principal, principal do dev, etc.

Eu notei quando ramificação todas as datas dos ficheiros que foram modificados.Talvez isso é um problema?

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