Um conjunto de alterações é um objeto de repositório que reúne um grupo relacionado de arquivos, pastas e modificações de componentes para que eles possam ser aplicados a um destino de fluxograma (área de trabalho ou fluxo) em uma única operação.
O conjunto de alterações é a unidade fundamental de alteração no Controle de origem do Rational Team Concert. O conteúdo de qualquer área de trabalho, componente ou fluxo pode ser expresso como uma coletânea de conjuntos de alterações, começando com aquela criada quando o conjunto inicial de projetos teve a entrada registrada. Um conjunto de alterações pode incluir alterações no conteúdo de arquivos individuais e alterações em um espaço de nomes do componente (como operações de exclusão, renomeação e movimentação). Um conjunto de alteração pequeno pode modificar algumas linhas em um único arquivo. Um conjunto de alterações grande poderia incluir alterações do conteúdo de muitos arquivos, alterações de nomes de arquivos, nomes de pastas e conteúdos das pastas. Através do agrupamento de alterações relacionadas e a aplicação subseqüente delas como uma unidade em uma área de trabalho ou fluxo, o Controle de origem do Rational Team Concert garante que tais grupos de alterações são feitos junto ou não na totalidade.
Um conjunto de alterações não pode incluir alterações em mais de um componente. Um conjunto de alterações não pode incluir alterações que não tenham sido registradas na entrada. (Tais alterações são acumuladas na pasta Não Resolvida do componente, visível na visualização Alterações Pendentes, até que você registra a entrada delas ou as desfaça.) Cada componente em uma área de trabalho de repositório possui zero ou mais conjuntos de atualizações ativos. Se tiver múltiplos componentes em uma área de trabalho, conjuntos de alterações separados são criados para cada componente.
Cada conjunto de alterações registra dois estados, chamados estado "antes" e estado "depois", de um ou mais itens com versão (arquivos ou pastas em uma área de trabalho de repositório). O estado "antes" representa o item antes de qualquer alteração ter sido feita. O estado "depois" representa o item depois das alterações terem sido feitas e o conjunto de alterações ter sido marcado como concluído. Versões intermediárias, como alterações cujas entradas foram registradas entre os dois estados, não podem ser recuperadas de um conjunto de alterações. A aplicação de um conjunto de alterações em uma área de trabalho ou fluxo altera todos os itens nele do estado "antes" para o estado "depois".
Um arquivo ou pasta em um componente não pode fazer parte de mais de um conjunto de alterações ativo. Quando um arquivo ou pasta é incluído em um conjunto de alterações ativo, todas as alterações nele tornam-se parte deste conjunto de alterações, quer o conjunto de alterações esteja ativo ou não, e as alterações em tal arquivo ou pasta não podem ter seu registro de entrada explicitamente efetuado em um novo conjunto de alterações até que o conjunto de alterações ativo que o inclui esteja concluído.
Um conjunto de alterações é criado implicitamente na primeira vez que você faz o registro de entrada de um arquivo ou uma pasta em uma área de trabalho onde não existem conjuntos de alterações. Também é possível criar explicitamente um conjunto de alterações vazio e incluir itens nele fazendo o registro de entrada deles ou movendo-os de outros conjuntos de alterações abertos. Cada componente em uma área de trabalho tem uma noção de um conjunto de alterações atual. Por padrão, este é o conjunto de alterações no qual todos os registros de entrada são acumulados. Todos os conjuntos de alterações que não foram concluídos podem ser modificados por operações como registro de entrada, mover, desfazer e remover, e são chamados de conjunto de alterações ativo. Os conjuntos de alterações ativos não podem ser compartilhados com outras áreas de trabalho de repositório porque não são estáveis. Em qualquer área, podem existir diversos conjuntos de alterações ativos para um componente, mas somente um pode ser o conjunto de alterações atual.
Toda vez que você efetua o registro de entrada de uma alteração, a alteração se torna parte do conjunto de alterações atual da área de trabalho. A menos que especificado em contrário, todos os registros de entrada continuam a serem acumulados neste conjunto de alterações até que você conclua-o ou torne atual um conjunto de alterações diferente. É possível direcionar qualquer registro de entrada para um conjunto de alterações diferente (não o atual), porém, as alterações em um determinado item (arquivo ou pasta) podem aparece somente em um dos conjuntos de alterações ativos do componente. Depois de um item se tornar parte de um conjunto de alterações ativo, todas as alterações no item são acumuladas nesse conjunto de alterações enquanto ele permanecer ativo.
Um conjunto de alterações ativo permanece aberto, pronto para acumular novas alterações, até que você o entregue ou marque-o como concluído. A entrega de um conjunto de alterações automaticamente o marca como concluído. Um conjunto de alterações concluído não pode ser reaberto. Toda vez antes de um conjunto de alterações ser concluído, é possível mover alterações individuais para dentro ou para fora dele. As alterações podem ser movidas entre conjuntos de alterações existentes, ou entre conjuntos de alterações existentes e novos. Os metadados do conjunto de alterações como as associações de nome e item de trabalho podem ser modificados independentemente de o conjunto de alterações estar ativo ou concluído, pois tais alterações não afetam a configuração da área de trabalho.