Introdução ao subversion e ao kdesvn

Esta seção é principalmente para iniciantes não familiarizados com o subversion e explica como o subversion e/ou os sistemas de controle de versão (RCS) funcionam.

Criando uma cópia de trabalho

Cuidado

As cópias de trabalho DEVEM estar acessíveis em caminhos locais. O Subversion não reconhece os pseudo-sistemas de arquivos como smb:// ou fish://. Se possível, o kdesvn traduz alguns deles (como o system:/home), mas não é possível fazê-lo pela rede.

Primeiro você deverá criar uma cópia de trabalho do seu repositório. Para isso, selecione a opção SubversionGeralExtrair um repositório. Dentro da caixa de diálogo seguinte, você deverá indicar a URL do repositório que deseja usar, por exemplo, http://localhost/repos/meu-projeto. Também é possível obter subpastas de um repositório, por exemplo, http://localhost/repos/meu-projeto/trunk ou algo do gênero.

Selecione e/ou crie uma pasta local, onde será colocada a cópia de trabalho.

Por último, a revisão que será obtida. Na maioria dos casos, será a HEAD. Isto garante que a última versão armazenada é a referenciada.

Depois de clicar em OK, o kdesvn criará sua nova cópia de trabalho e (se a opção estiver assinalada) irá abri-la.

Quando tiver aberto um repositório para navegação, poderá marcar uma pasta e então selecionar a opção SubversionRepositórioObter o caminho do repositório atual e preencher as caixas de diálogo como descrito acima. Dessa forma, apenas o caminho marcado será extraído.

Enviando as alterações locais

Marque o item ou itens que deseja enviar e selecione SubversionCópia de trabalhoCommit (Ctrl+#)

Se tentar enviar sem qualquer item selecionado, o kdesvn irá usar o elemento de topo da cópia de trabalho aberta, isto é, o caminho da cópia de trabalho propriamente dito.

Esta operação é sempre recursiva, o que significa que, se você selecionar uma pasta, o kdesvn sempre irá enviar todos os itens alterados a partir dela. Quando definir que deseja rever todos os itens antes de enviar, na caixa de diálogo seguinte irão aparecer todos os arquivos que o kdesvn iria enviar. Assim você poderá desmarcar os itens que não deseja enviar. Nesse caso, o kdesvn envia todos os itens separados, isto é, de forma não recursiva. Poderá também selecionar os itens ainda não adicionados para enviá-los (se não estiverem marcados para ser ignorados). Assim você poderá ver se não existem itens mais recentes que se tenha esquecido.

Indique uma mensagem de registro do que você deseja enviar e clique OK para que a transferência se inicie.

Atualizar a cópia de trabalho

Isto volta a colocar a sua cópia de trabalho em sincronia com o repositório. Você pode configurar o kdesvn para verificar os itens novos/modificados no repositório, ao abrir uma cópia de trabalho. Isso irá funcionar em segundo plano e você poderá continuar a trabalhar no kdesvn. Quando terminar, os itens ou pastas com itens com versões mais recentes serão marcados.

Para obter as alterações, selecione a opção SubversionCópia de trabalhoAtualizar para a última versão. Isso irá atualizar os dados para a última versão no repositório. Se quiser obter uma revisão específica, selecione a opção SubversionCópia de trabalhoAtualizar para a revisão e selecionar a revisão que deseja no campo seguinte.

Se nenhum item estiver selecionado, a atualização será feita em toda a cópia de trabalho aberta, caso contrário, só será recursiva para os itens selecionados.

Adicionando e excluindo na cópia de trabalho

Ambas as operações necessitam de dois passos: Primeiro, adicione ou exclua e depois envie essas alterações para o repositório. Antes de enviá-las, você poderá desfazer a adição ou exclusão.

Adicionar itens

A adição de itens a uma cópia de trabalho pode ser feita de três formas:

Selecionar os itens não-adicionados e adicioná-los

Copie com o Konqueror ou outra ferramenta qualquer para a área da cópia de trabalho. Percorra a lista, marque os itens e selecione a opção SubversionCópia de trabalhoAdicionar os arquivos/pastas selecionados (Insert). Quando quiser adicionar novas pastas, com todos os seus subitens, selecione a opção SubversionCópia de trabalhoAdicionar recursivamente os arquivos/pastas selecionados (Ctrl+Insert).

Verificar e adicionar de forma recursiva

Você poderá verificar se existe algo na cópia de trabalho que não esteja adicionado ao repositório. Depois de selecionar a opção SubversionCópia de trabalhoVerificar por itens não adicionados, irá aparecer uma caixa de diálogo onde todos os itens não adicionados serão apresentados. Se clicar em OK, todos os itens marcados serão adicionados à cópia de trabalho, sendo que os itens que não desejar adicionar deverão estar desmarcados antes.

Arrastar e soltar

Marque no Konqueror ou em outro navegador de arquivos compatível, os itens que você deseja adicionar e arraste-os para o kdesvn. Você pode soltá-los nas pastas dentro da cópia de trabalho aberta e então o kdesvn irá copiar os itens soltos para ela e adicioná-los.

Excluindo os itens da cópia de trabalho e do controle de versões

A exclusão de itens é sempre recursiva. Por exemplo, quando excluir uma pasta, todos os seus subitens também serão excluídos. Marque o que deseja e selecione o item de menu SubversionGeralExcluir os arquivos/diretórios selecionados. Os itens sairão do controle de versões e serão excluídos do disco.

Mostrando os registros

O registro pode ser iniciado com Ctrl+L quando um ou mais itens estiver marcado na visão geral. Dependendo da sua configuração (veja em “Configurações do Subversion”), o kdesvn irá obter os mesmos itens de registro que começam em HEAD e os apresenta.

A caixa de diálogo de apresentação do registro

Do lado esquerdo, você verá a lista de itens de registro que o kdesvn recebeu. A mensagem de registro é reduzida a uma linha para caber. A mensagem completa aparece na janela superior direita ao marcar um item. Na janela inferior direita, você verá a lista de arquivos alterados. Estas janelas somente aparecem se essa lista foi transferida, dependendo da sua configuração.

Com os botões acima você poderá selecionar outro intervalo de registros para mostrar.

Importante

Este intervalo é chamado sem qualquer limite prévio e, por isso, você precisa ter cuidado com repositórios grandes.

Os botões abaixo mostram sempre o trabalho sobre o item selecionado para registro, não sobre o item selecionado na lista de arquivos alterados. Por isso, quando clicar em Diferenças para o anterior, será apresentada a diferença de todos os itens alterados nesta revisão, caso sejam equivalentes ou estejam abaixo do item subversion selecionado para obter os registros anteriores. O mesmo acontece para o Diferenças entre as revisões.

Anotar obviamente só funciona se o item a registrar for um arquivo.

Em todos os itens da lista (ambas as listas) existirá um menu de contexto ativo para algumas operações extras. Na lista da esquerda, este será o Definir a versão do lado esquerdo das diferenças (isto é, revisão de início) e Definir a versão do lado direito das diferenças (isto é, fim ou destino das diferenças). Nas diferenças unificadas, a parte fica marcada com um +++). Se tiver selecionado estas revisões, elas aparecerão marcadas com algumas pequenas setas.