Criação de Marcas ('Tags') e Ramificações ('Branches')

Aqui discute-se apenas os aspectos técnicos da utilização das 'tags' e dos 'branches'. Se você é apenas um utilizador, e não o administrador do repositório, você não será confrontado com o problemas, provavelmente. Se você for, por outro lado, o seu próprio administrador, você deverá ler primeiro acerca dos problemas não-técnicos que acompanham a gestão de ramificações, para poder ter uma ideia de quão moroso e sujeito a erros poderá ser a gestão de ramificações diferentes de um projecto. O apêndice inclui algumas referências sobre este tópico.

A criação de marcas simples ('tags') é algo que você faz normalmente quando é lançada uma versão, por isso você poderá voltar em qualquer altura ao estado do projecto nesse momento. As marcas têm normalmente um nome que consiste no nome do projecto e no número de versão. Por exemplo, o Cervisia 1.0 está disponível com a marca CERVISIA_1_0. O Cervisia reforça as regras restritas do CVS sobre o que constitui um nome de marca válido. Deverá começar por uma letra e só poderá conter letras, números, hífenes e sublinhados.

Normalmente, você irá marcar o projecto inteiro (ainda que, claro, o CVS permita marcar apenas um sub-conjunto). Para esse fim, marque a pasta do nível de top na janela e escolha Avançado'Tag'/'Branch'. Agora, indique o nome da marca, carregue em Return e é tudo.

Criar uma ramificação não é mais complicado do que isso. Na janela da marca, assinale a opção Criar uma ramificação com esta 'tag'. Você poderá também remover uma marca ('tag') existente: Escolha a opção AvançadoRemover 'Tag' na janela principal.

Outro aspecto das ramificações é a junção das modificações de uma ramificação para a ramificação actual. Se você for fazer isso, escolha a opção AvançadoReunir.... A janela que aparece dá-lhe então duas opções:

Você pode reunir todas as modificações feitas numa ramificação para a ramificação actual. Nesse caso, assinale a opção Reunir a partir da ramificação e indique o nome da ramificação a partir da qual deseja fazer a junção. O Cervisia irá então executar o comando

cvs update -j ramificacao

A outra possibilidade será juntar apenas as modificações feitas entre duas marcas de uma ramificação. Isto normalmente acontece quando você reúne a partir da mesma ramificação para o ramo principal várias vezes. Nesse caso, assinale a opção Reunir as modificações e indique (pela ordem correcta) as duas marcas relevantes. Isto irá dar origem a um comando

cvs update -j ramificacao1 -j ramificacao2