Pergunta

Eu tenho um arquivo no RTC (chamá-lo de foo.c) que eu modifiquei e verificado em um conjunto de alterações (CS1) junto com algumas outras alterações.Eu, então, modificado o ficheiro e o check-em um diferente conjunto de alterações (CS2) junto com outras alterações.

Eu já executado em um caso onde eu quero entregar CS2 para uma corrente, mas RTC está me dando um erro que entregando o que poderia criar uma lacuna no fluxo (por causa da mudança CS1).Eu não quero entregar todos CS1 ainda não, porque ele contém algumas alterações que não deve ser uma compilação ainda.A mudança original para foo.c no CS1 foi uma menor remoção de um #include, e não afeta mais nada.

Existe alguma maneira para resolver essa lacuna?

Eu vejo algumas coisas no RTC documentação sobre a aplicação de patches, mas eu não entendo de onde ele está indo com isso.
Existe uma maneira de dividir um conjunto de alterações em vários deles, o que me permitiria apenas para entregar um arquivo?

Foi útil?

Solução

Atualização desde 2012 (e o original "solução" de entregar tudo e reverter o que você não quer):

Ver esta thread:

Em RTC 4.0.5, fornecemos suporte adicionais ao tentar aceitar as mudanças conjuntos, que tem uma abertura (muitas vezes encontrou ao tentar adaptar as correções).

Em um resumo muito breve do recurso, quando você aceitar mudanças de conjuntos com uma diferença, agora você pode acompanhar uma abertura de fluxo de trabalho que aceita um conjunto de alteração de cada vez e, para alterar os conjuntos que contêm lacunas, cria um novo conjunto de alteração (com auxiliado rastreabilidade), que contém o equivalente a alterações.
Isso significa que os usuários não terão que aceitar a alteração define "como um patch'.

A aplicação de alterar define como um patch tem limitações em comparação com o novo fluxo de trabalho.
Esse recurso é resumido na RTC 4.0.5 'New & Noteworthy' página.

Abaixo estão alguns vídeos que mostram esse recurso:

Que é o Localizar Conjuntos De Alteração recurso:

https://jazz.net/downloads/pages/rational-team-concert/4.0.5/4.0.5/images/gapeditor.png


Em RTC 5.0 nós adicionamos um "preencher a lacuna" recurso em que a alteração conjuntos de preencher a lacuna são mostrados para o usuário, permitindo-lhes para aceitar todos os conjuntos de alteração ou continuar com a diferença de fluxo de trabalho que estava disponível na RTC 4.0.5.

Esse recurso é resumido na RTC 5.0 'New & Noteworthy' página:

As classes que estão envolvidas para preencher uma lacuna que incluem (disponível em RTC 5.0):

client side: IWorkspaceConnection.findChangeSetsToAcceptToFillGap(...) 
server side: IScmQueryService.findChangeSetsToAcceptToFillGap(...) 

Ambos os recursos são explicados em detalhe no "Melhorada a Lacuna de Tratamento para o SCM"artigo.

https://jazz.net/downloads/pages/rational-team-concert/5.0/5.0/images/missing-change-sets-dialog.png


Original de resposta (2012)

Existe uma maneira de dividir um conjunto de alterações?

Eu não penso assim, a leitura do changeset homem página:

Um arquivo ou pasta em um componente não pode ser parte de mais de um conjunto de alteração.
Quando um arquivo ou pasta está incluído em um conjunto de alteração, todas as alterações a que se tornar parte do que alterar definir se quer ou não a mudança do conjunto é a corrente, e alterações para que o arquivo ou pasta não pode ser explicitamente marcado em um novo conjunto de alteração até o active alterar o conjunto que inclui é concluída.

Tendo foo.c em CS1 e CS2 significa CS1 foi "completado" (congelados, em essência), e seria mau para tentar dividi-lo.

O patch solução significa:

  • cancelamento CS1
  • adicionar a alteração adicional para foo.c a CS2
  • refazer CS1 alterações

Ver "Como faço para remover um conjunto de alteração a partir de uma sequência?"

História 149483 é de reforçar que o pesado fluxo de trabalho, e a diferença de detecção está a ser reforçada (Realce 24822)


O OP timwoj conclui:

Acabei de apenas entregar-se de tudo, em seguida, invertendo o que eu não queria.

Outras dicas

Problema:CS1 alterações foo.c, CS2 mais alterações foo.c.Você só quer entregar CS2, mas RTC diz-lhe que iria introduzir lacunas.

Solução:Criar um patch para o CS2 e suspender tanto CS1 e CS2.Depois de aplicar o patch, mesclá-lo em seu espaço de trabalho e serviço de check-in as alterações que vai criar ainda outro conjunto de alteração, CS3, idêntico ao CS2, mas com dependência em CS1.Agora você pode entregar CS3.

Depois de entregar CS3, você pode descartar CS2 e retomar CS1 que vai exigir que você mesclar com o CS3.

Em seguida, você deve estar no estado que CS1 constrói no CS3 e você pode escolher se quer ou não entregar CS1 no futuro.

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