Introdução ao Subversion e ao kdesvn

Esta secção é principalmente para principiantes não familiarizados com o Subversion e explica como o Subversion e/ou o RCS funcionam.

Criar uma cópia local

Cuidado

As cópias locais DEVEM estar acessíveis por localizações locais. O Subversion não conhece nada sobre os pseudo-sistemas de ficheiros como o smb:// ou o fish://. O kdesvn traduz alguns deles, se possível (como o system:/home) mas não é possível fazê-lo pela rede.

Primeiro que tudo, deverá criar uma cópia local do seu repositório. Para tal, seleccione a opção SubversionGeralExtrair um repositório. Dentro da seguinte janela, deverá indicar o URL do repositório que deseja usar, isto é, algo do tipo http://localhost/repos/o-meu-projecto. Também é possível obter sub-pastas de um repositório, isto é, http://localhost/repos/o-meu-projecto/principal ou algo do género.

Seleccione e/ou crie uma pasta local, onde deverá residir a cópia local.

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

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

Quando tiver aberto um repositório para navegação, poderá marcar uma pasta e depois seleccionar a opção SubversionRepositórioObter a localização do repositório actual e preencher as janelas como descrito acima. Depois, só será extraída a localização marcada.

Enviar as modificações locais

Marque o item ou itens que deseja enviar e seleccione SubversionCópia localEnviar (Ctrl+#)

Se tentar enviar sem qualquer item seleccionado, o kdesvn irá usar o elemento de topo da cópia local aberta, isto é a localização propriamente dita da cópia local.

Esta operação é sempre recursiva, o que significa que, se seleccionar uma pasta, o kdesvn irá enviar sempre todos os itens alterados por baixo dela. Quando definir que deseja rever todos os itens antes de os enviar, na janela seguinte irão aparecer todos os ficheiros que o kdesvn iria enviar. Aí poderá desligar os itens que não deseja enviar. Nesses caso, o kdesvn envia todos os itens separados, isto é, de forma não recursiva. Poderá também seleccionar os itens ainda não adicionados ou repositório e enviá-los (se não estiverem marcados para ser ignorados). Assim poderá ver se não existem itens mais recentes que se tenha esquecido.

Indique uma mensagem de registo para o que deseja enviar e carregue em OK, para que a transferência se inicie.

Actualizar a cópia local

Isto volta a colocar a sua cópia local em sincronização com o repositório. Poderá configurar que o kdesvn verifica, ao abrir uma cópia local, os ficheiros novos/modificados no repositório. Isto irá funcionar em segundo plano e você poderá continuar a trabalhar entretanto no kdesvn. Quando terminar, os itens ou pastas com itens com versões mais recentes serão marcados.

Para obter as alterações, seleccione a opção SubversionCópia localActualizar para a última versão. Isto irá actualizar os dados para a última versão no repositório. Se quiser obter uma versão específica, seleccione a opção SubversionCópia localActualizar para a versão e seleccionar a versão que deseja no campo seguinte.

Se não tiver nenhum item seleccionado, a actualização será feita em toda a cópia local aberta, caso contrário, só será recursiva para os itens seleccionados.

Adicionar e Remover na Cópia Local

Ambas as operações necessitam de dois passos: primeiro adicione ou remova e depois envie essas alterações para o repositório. Antes de as enviar, podê-las-á anular.

Adicionar itens

A adição de itens a uma cópia local poderá ser feita de três formas:

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

Copie com o Konqueror ou outra ferramenta qualquer para a área da cópia local. Percorra a lista, marque os itens e seleccione a opção SubversionCópia localAdicionar os ficheiros/pastas seleccionados (Insert). Quando quiser adicionar pastas novas, com todos os seus sub-itens, seleccione a opção SubversionCópia localAdicionar recursivamente os ficheiros/pastas seleccionados (Ctrl+Insert).

Verificar e adicionar recursivamente

Poderá verificar se existe algo na cópia local que não esteja adicionado ao repositório. Depois de seleccionar a opção SubversionCópia localProcurar por itens não-adicionados, irá aparecer uma janela onde todos os itens não-adicionados serão apresentados. Se carregar em OK, irá adicionar todos os itens marcados à cópia local; os itens que não desejar adicionar deverão estar desmarcados antes.

Arrastar e largar

Marque no Konqueror ou noutro sistema de ficheiros compatível os itens que deseja adicionar e arraste-os para o kdesvn. Podê-los-á largar nas pastas dentro da cópia local aberta e depois o kdesvn irá copiar os itens largados para ela e adicioná-los.

Apagar os itens da cópia local e do repositório de versões

A remoção de itens é sempre recursiva. Por exemplo, quando apagar uma pasta, todos os seus sub-itens serão também apagados. Marque o que deseja e seleccione a opção SubversionGeralApagar os itens seleccionados. Os itens sairão do controlo de versões e serão apagados do disco.

Mostrar os registos históricos

O registo de histórico poderá ser iniciado com o Ctrl+L quando um ou mais itens estiver marcado na visão geral. Dependendo da sua configuração (ver em Tabela 5.1, “Subversion”), o kdesvn irá obter os mesmos itens de registo que começam na última versão e apresenta-os.

A janela de apresentação do histórico

Do lado esquerdo, irá ver a lista de itens de registo que o kdesvn recebeu. A mensagem de registo é reduzida a uma linha para caber. A mensagem completa aparece na janela superior direita quando se marca um item. Na janela inferior direita, irá ver a lista de ficheiros alterados. Estas janelas aparecem se esta lista foi transferida, dependendo isto da sua configuração.

Com os botões acima, poderá seleccionar outro intervalo de registos a mostrar.

Importante

Este intervalo é invocado sem qualquer limite prévio, pelo que terá de ter cuidado com os repositórios grandes.

O botão abaixo mostra sempre o trabalho sobre o item seleccionado para o registo, não sobre o item seleccionado na lista de ficheiros alterados. Por isso, quando carregar em Diferença para o anterior aí, fará a diferença de todos os itens alterados nesta versão, caso sejam equivalentes ou estejam abaixo do item de Subversion seleccionado para obter os registos anteriores. O mesmo acontece para o Diferenças de versões.

Anotar obviamente só funciona se o item a consulta for um ficheiro.

Em todos os itens da lista (ambas as listas), terá um menu de contexto activo para algumas operações extra. Na lista da esquerda, este será Mudar a versão das diferenças da esquerda (isto é, versão de início) e Mudar a versão das diferenças da direita (isto é, fim ou destino das diferenças). Nas diferenças unificadas, a parte fica marcada com um +++). Se tiver seleccionado estas versões, as mesmas aparecerão marcadas com algumas pequenas setas.