O Manual do kdesvn

# O Manual do kdesvn

Rajko Albrecht `<ral@alwins-world.de>`

Tradução: José Pires
revisão kdesvn 2.0 (2016-05-22)

Copyright © 2005, 2008 Rajko Albrecht

Aviso Legal

kdesvn - um cliente de Subversion do KDE.

Lista de Tabelas

2.1. Propriedades de Integração do Gestor de Erros
3.1. Visão geral dos comandos do `KIO::ksvn::special`
3.2. Conteúdo dos meta-dados
4.1. Comandos do Subversion
4.2. Parâmetro dos comandos do Subversion
5.1. Subversion
5.2. Tarefas periódicas

Lista de Exemplos

3.1. Obter as diferenças entre as versões com o KDiff3 e o KIO:ksvn
4.1. Mostrar os últimos 20 registos do histórico
4.2. Imprime as diferenças face ao repositório, isto é cópias locais
4.3. imprime as diferenças entre versões
4.4. Diferenças entre duas versões marcadas

Capítulo 1. Introdução
Introdução

# Capítulo 1. Introdução

O kdesvn é um cliente de Subversion do KDE.

Deverá ter algum conhecimento sobre o próprio Subversion, mas felizmente a maioria dos itens são intuitivos.

Poderá enviar relatórios de erros e funcionalidades através do Sistema de Gestão de Erros do KDE.

## Termos

Se estiver familiarizado com os sistemas de controlo de versões, poderá ignorar isto - ou ler e corrigir o autor ;)

Repositório

  O armazém central de dados. Poderá ser uma base de dados ou um sistema de ficheiros simples. Sem os clientes especiais, não será capaz de ler dados nele. Para os repositórios do Subversion, o kdesvn será um desses clientes.

Cópia local

  Uma cópia simples de um repositório no sistema de ficheiros local. Esta é usada com qualquer gestor de ficheiros normal, editando os seus ficheiros, etc. A informação do RCS poderá ser lida com clientes como o kdesvn.

  Lembre-se que o Subversion não sabe nada sobre o KIO, pelo que a cópia local deverá residir numa área onde possa ser acedida sem qualquer protocolo em especial, isto é “fish://” ou algo do género não será possível.

WebDAV

  O WebDAV é um protocolo que lhe permite modificar os ficheiros num servidor Web remoto. O Subversion é um tipo especial de WebDAV quando os repositórios são acedidos a partir de um servidor Web. Numa utilização normal, este modo é apenas para leitura. Com configurações especiais, poderá obter um WebDAV activo também para escrita que poderá aceder com um navegador especializado. O kdesvn NÃO é um cliente de WebDAV, mas o Konqueror é, através do seu protocolo “webdav://”. Contudo, com o kdesvn poderá navegar pela árvore de versões de um repositório (através de “http://”)

Capítulo 2. Usar o kdesvn
Usar o kdesvn

# Capítulo 2. Usar o kdesvn

## Funcionalidades do kdesvn

O kdesvn compreende os seguintes protocolos para navegar pelos repositórios:

http

  Protocolo-padrão de navegação Web.

https

  Protocolo-padrão de navegação Web - versão segura.

(k)svn+http

  Protocolo-padrão de navegação Web. Pode ser usado para deixar que o Konqueror invoque directamente o kdesvn.

(k)svn+https

  Protocolo-padrão de navegação Web - versão segura. Pode ser usado para deixar que o Konqueror invoque directamente o kdesvn.

(k)svn+file

  Protocolo de repositórios locais. Pode ser usado para deixar que o Konqueror invoque directamente o kdesvn.

(k)svn

  O protocolo próprio do servidor do Subversion.

(k)svn+ssh

  Subversion sobre SSH.

file

  Acesso directo ao repositório. O kdesvn verifica se uma dada localização é um repositório ou uma cópia local e abre-o no modo correcto. Para o Subversion, o `file:///pasta` e `/pasta` não são a mesma coisa!

Esta lista também pode ser usada para os URL's indicados através da linha de comandos.

Introdução ao Subversion e ao kdesvn
Introdução ao Subversion e ao kdesvn

## 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 Subversion → Geral → Extrair 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 Subversion → Repositório → Obter 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 Subversion → Cópia local → Enviar (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 Subversion → Cópia local → Actualizar 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 Subversion → Cópia local → Actualizar 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 Subversion → Cópia local → Adicionar os ficheiros/pastas seleccionados (Insert). Quando quiser adicionar pastas novas, com todos os seus sub-itens, seleccione a opção Subversion → Cópia local → Adicionar 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 Subversion → Cópia local → Procurar 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 Subversion → Geral → Apagar 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 só 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.

Trabalhar com os repositórios
Trabalhar com os repositórios

## Trabalhar com os repositórios

A navegação simples pelo repositório poderá ser feita com o Konqueror, Dolphin ou outros navegadores de ficheiros do género: abra um URL com o protocolo descrito em “Funcionalidades do kdesvn” (as variantes que começam por “k”), para que estas apresentem o conteúdo. Por isso, as operações simples como a cópia, mudança de local e remoção poderão funcionar. Ao adicionar uma pesquisa do tipo “?rev=`xxx`” a listagem virá de uma versão específica. O formato da pesquisa por versões está descrito em Apêndice A, Sintaxe das versões, poderá ver mais algumas informações sobre o KIO::ksvn em Capítulo 3, Konqueror, KIO, kdesvn

Todo o trabalho excepto o Copiar só poderá ser feito quando navegar pela versão HEAD.

### Repor os itens apagados

No Subversion, a reposição de itens apagados é uma operação de cópia do item para uma dada versão. Por isso, quando pensar em repor ficheiros, veja o repositório na versão anterior à remoção do item. Seleccione Subversion → Repositório → Seleccionar a versão de navegação e indique a versão desejada. Agora, o kdesvn mostra o conteúdo nesta altura. Marque o item que deseja repor, seleccione a opção Subversion → Geral → Copiar (C). Dentro da janela seguinte, o destino está sempre na versão HEAD (a última), a origem está na versão que optou por navegar. Preencha o local de destino, carregue em OK e inicie a cópia. Após o sucesso da operação, volte a colocar a navegação na versão HEAD, para que apareça o item reposto.

### Importar pastas

Devido a restrições do próprio Subversion, só poderá importar pastas - os ficheiros individuais não são permitidos.

#### Por arrastamento e largada

Marque em qualquer gestor de ficheiros compatível a pasta que deseja importar e arraste-a para o item da pasta no kdesvn onde a deseja importar.

#### Seleccionar a pasta a importar com o selector de pastas

Marque a pasta para onde deseja importar uma pasta nova. Depois seleccione a opção Subversion → Geral → Importar as pastas para o actual e seleccione a sua pasta desejada.

Outras Operações
Outras Operações

## Outras Operações

### Reunir

Abra o repositório ou a cópia local, marque o item que deseja juntar e seleccione a opção Subversion → Geral → Reunir. Introduza na janela seguinte os valores que pretende. Se for aberto a partir de um repositório, a origem 1 e a origem 2 estão preenchidos; se for aberto a partir de uma cópia loca, o destino estará preenchido com o item seleccionado de momento. O tratamento deste parâmetro é ligeiramente diferente de usar a visualização de diferenças interna do Subversion ou de usar um programa externo como o KDiff3. O destino deverá ser SEMPRE um ficheiro ou pasta local. Poderá alternar entre uma reunião interna ou externa com a opção Usar uma reunião externa.

#### Reunião interna

O significado é exactamente o mesmo da ferramenta de linha de comandos própria do Subversion. Quando a origem1 e a origem2 são iguais, as versões de início e de fim deverão ser diferentes. Se não forem iguais, a versão inicial é atribuída à origem1 e a versão final à origem2. O destino DEVE ser uma cópia local, caso contrário o Subversion irá mostrar uma mensagem de erro.

As opções de marcação têm os seguintes significados:

Recursivo

  Torna todas as operações recursivas ao lidar com pastas.

Tratar os itens não-relacionados como relacionados

  Se estiver activa, os itens não-relacionados serão tratadas como se o fossem. Caso contrário, o Subversion irá remover um m lado e adicioná-lo-á ao outro lado de novo.

Forçar a remoção nos itens modificados/não-adicionados

  Se não estiver definido e se a reunião necessitar de apagar um item modificado ou não adicionado, a reunião do Subversion será mal-sucedida. Caso contrário, estes itens serão apagados.

Apenas executar como teste sem modificação

  Se estiver activo, o Subversion envia apenas a notificação do que iria fazer, mas não modifica a cópia local.

#### Usar um programa externo na reunião

Veja mais detalhes “Diferenças & Reunião” para configurar a ferramenta de reunião externa. O kdesvn gera a linha de comandos como está descrito aí. Antes disso, ela faz o seguinte:

1. Atribui a versão inicial como a versão da origem 1 e a versão final à origem 2. Depois verifica se elas são diferentes (a nível de localização e/ou número de versão). Em caso afirmativo, será feita uma reunião em três-pontos; caso contrário, será uma reunião simples entre a origem e o destino. Se a origem 2 estiver em branco, será também uma reunião simples.

2. Crie uma exportação para uma pasta temporária. Se for uma reunião, só existe a 'ver-inicial' de origem1, caso contrário serão usadas ambas as origens com as suas versões. Se o item for um ficheiro e não uma pasta, então obtém o conteúdo de uma versão específica.

3. Gera a chamada para o seu programa de reunião externa, tal como definido na Configuração. O resultado do erro será apresentado na janela de registo, para que possa ver o que se passa de errado (se algo estiver errado).

Nas diferenças com um destino de reunião interno, um ficheiro/pasta fora de controlo de versões não aparecerá porque as ferramentas externas não querem saber dele.

Se a opção recursiva não estiver definida, a exportação é feita como uma exportação plana. Cuidado: ao fazer isto com cópias locais, os itens externos não serão exportados.

### Resolver conflitos

O esta aplicação propriamente dito não tem um módulo de resolução de conflitos, mas poderá usar aplicações externas a partir do esta aplicação. Em “Programa de resolução de conflitos” encontra-se uma descrição de como configurar esta aplicação.

Ao marcar um item com o estado definido como “em conflito” (irá ver uma cruz vermelha nesses itens), poderá seleccionar a opção Subversion → Cópia local → Resolver o conflito. ou então no menu de contexto Resolver o conflito (apenas nos itens em conflito), o kdesvn irá iniciar então o programa que tiver configurado (ou o predefinido). Depois de terminar esta tarefa, deverá marcar o item como resolvido (Subversion → Cópia local → Marcar como resolvido), caso contrário não poderá enviar as suas alterações.

Propriedades usadas pelo kdesvn para a configuração
Propriedades usadas pelo kdesvn para a configuração

## Propriedades usadas pelo kdesvn para a configuração

### Integração com sistemas de registo de erros

O projecto TortoiseSVN desenhou um sistema de propriedades adequado para integrar os sistemas de gestão de erros para a interface do Subversion. Neste momento, o kdesvn não suporta os campos extra na área de envios (acontecerá no futuro) e não compreende todas as propriedades, excepto as seguintes:

Tabela 2.1. Propriedades de Integração do Gestor de Erros

Propriedade | Descrição | Exemplo
--- | --- | ---
`bugtraq:url` | Guarda o URL do sistema de gestão de erros. Terá de conter o marcador `%BUGID%`. | https://bugs.kde.org/show_bug.cgi?id=%BUGID%

`bugtraq:logregex`

Contém uma ou duas expressões regulares, separadas por uma mudança de linha.

Se só estiver definida uma expressão, então o ID básico do erro deverá ter correspondência nos grupos do texto da expressão regular. Se tiver definido duas expressões, então a primeira será usada para encontrar um texto relacionado com o ID do erro, mas que poderá conter algo mais que apenas o ID do erro (isto é “Erro #123” ou “resolve o erro 123”). A segunda expressão será então usada para extrair o ID concreto do erro a partir do texto extraído com a primeira expressão.

Por favor tenha cuidado em não incluir espaços após a expressão regular e não se esqueça dos parêntesis em torno da descrição do número.

Único (útil para o TRAC):

    #(\d+)

Agora todos os números do tipo `#190` serão processador e traduzidos para um URL no 'logoutput'.

Duas expressões:

    [Ii]ssue #?(\d+)(,? ?#(\d+))*
    (\d+)

### Recordar

Tenha cuidado com os espaços em branco a seguir ao `(\d+)`! Este é um dos erros mais comuns, quando as expressões não correspondem!

Nos repositórios locais abertos (isto é, no protocolo `file://`) e nas cópias locais, estas propriedades serão pesquisadas de baixo para cima, a partir da pasta aberta, até que sejam encontradas ou que se chegue ao topo do repositório. Nos repositórios abertos pela rede (todos excepto o protocolo `file://`), só é pesquisada na pasta-mãe em si.

O suporte para vários conjuntos de propriedades deste tipo seguir-se-á (isto é, na sub-pasta, os valores extra para outros sistemas de registo, etc.), mas na maioria dos casos, a avaliação de ligações únicas será suficiente.

A árvore de versões
A árvore de versões

## A árvore de versões

A árvore de versões tenta apresentar o histórico completo de um item, para que o utilizador possa ter uma percepção melhor sobre o histórico de um item. Tem de percorrer o histórico completo do repositório, porque irá necessitar de mais informação do que a dada pelo Subversion. Como isto produz uma grande quantidade de tráfego, a árvore de versões usa sempre a 'cache' interna do histórico.

### Requisitos

A árvore de versões é gerada a partir do dot. Por isso, para uma árvore de versões funcional, deverá ter instalado o pacote graphviz.

'Cache' interna do histórico
'Cache' interna do histórico

## 'Cache' interna do histórico

O kdesvn poderá usar uma 'cache' interna do histórico para algumas operações. Na maioria dos casos é usado para a árvore de versões mas também ao ver o registo simplificado no modo desligado. As 'caches' estão organizadas como bases de dados SQLite guardadas em `$HOME/.sqvnqt/logcache`. Cada ficheiro numerado é o armazenamento de um repositório diferente.

### Atenção

A base de dados poderá ficar enorme! Por isso, poderá desactivar a actualização automática da 'cache' do histórico na configuração.

Poderá simplesmente remover uma base de dados; aí, não será devolvido qualquer histórico para esse repositório (nem qualquer árvore de versões!), mas se não desactivar a actualização automática da 'cache', ao abrir da próxima vez este repositório ou uma cópia local associada o mesmo será preenchido de novo.

### Modo desligado

O kdesvn poderá funcionar sem acesso à rede, isto é poderá mudar para o facto de não permitir nenhum acesso à rede. Isto poderá ser útil quando estiver a trabalhar sem rede, como acontece às vezes com portáteis. Nesses casos, o kdesvn irá obter sempre o histórico da 'cache' interna). Este histórico está reduzido às funções básicas por razões técnicas, pelo que o histórico em 'cache' poderá (mas não deverá) ser diferente do registo real. Será diferente na medida em que não irá mostrar todas as operações de cópia, mesmo que a opção O histórico segue as mudanças de nós esteja activa.

### A 'cache' do histórico e a árvore de versões

A árvore de versões só irá usar a 'cache' do histórico, porque se não fosse assim teria de obter sempre o histórico de novo. Não irá actualizar a 'cache' (mas isto poderá ser alterado em versões posteriores).

Significado dos ícones sobrepostos
Significado dos ícones sobrepostos

## Significado dos ícones sobrepostos

Os itens podem ser marcados com ícones sobrepostos quando não estiverem num estado “normal”.

  Este item está bloqueado. Na última coluna, aparece o dono do bloqueio. Poderá também configurar se o kdesvn deverá sondar os itens bloqueados no repositório. Porém, tenha cuidado: dependendo do tipo de servidor, isto poderá levar bastante tempo!

  Este item tem de ser bloqueado antes de editar os itens e enviá-los. Até que não defina um bloqueio, o Subversion mantém o item apenas para leitura.

  Este item ou - no caso de uma pasta - um sub-item dele tem uma versão mais recente no repositório.

  Este item ou - no caso de uma pasta - um sub-item dele foi alterado localmente no disco.

  Este item está adicionado a nível local a nível do Subversion, mas ainda não foi enviado.

  Este item está removido localmente, mas ainda não foi confirmada a remoção no Subversion.

  Este item ou - no caso de uma pasta - tem conflitos por resolver com a última actualização.

O kdesvn e as senhas
O kdesvn e as senhas

## O kdesvn e as senhas

O kdesvn/Subversion é capaz de gravar as senhas. A gravação das mesmas é sempre um risco de segurança, mas torna uma interface gráfica mais fácil de usar.

### Não gravar as senhas

É a forma mais segura, mas algumas vezes não é fácil para interfaces como a do kdesvn. Em particular, as operações em segundo plano do kdesvn iriam sempre pedir uma senha no caso de o repositório ter um acesso restrito para as operações de leitura, como a actualização e a leitura do estado. O mesmo aconteceria no “envio” e assim por diante. Por isso, se não gravar as senhas, deverá desactivar a opção Procurar por actualizações na cópia local aberta, entre outras.

### Gravar as senhas no KWallet

O armazenamento de senhas seguro, que é usado por uma grande quantidade de programas do KDE, como o KMail e o Konqueror. Se estiver a gravar senhas e usar principalmente o kdesvn, deveria usar esta opção. Tenha cuidado que o armazenamento encriptado não é um armazenamento altamente seguro. Para mais detalhes, veja a documentação do KWallet.

### Gravar na configuração de senhas própria do Subversion

Isto não é recomendado, porque as senhas são guardadas em texto simples! Não acredita? Veja os ficheiros em `~/.subversion/auth/svn.simple`. Só deverá usar isto se estiver a usar com frequência outros clientes que não o kdesvn, como o rapidsvn ou o esvn, ou ainda o cliente da linha de comandos svn. Se estiver a usar o cliente da linha de comandos principalmente para extracções ou actualizações, que não precisam de uma senha, e o kdesvn para enviar/mover/copiar, deveria usar em alternativa o KWallet.

### 'Cache' interna de senhas

Poderá activar uma 'cache' interna de senhas que irá guardar as senhas enquanto o kdesvn estiver em execução em memória. Por isso, não terá de introduzir uma senha duas vezes, mesmo que não a tenha gravado na carteira.

### Caso especial do 'svn+ssh'

Se usar o Subversion com 'svn+ssh', o armazenamento das senhas poderá ser feito com o 'ssh' e o 'ssh-agent'. Para isso, terá de ter acesso de SSH à máquina e repositório remotos. Quando quiser gravar, deverá usar a autenticação por chave pública do SSH, não a autenticação pela senha (de facto, o SSH prefere a autenticação por chave pública). Para isso, deverá colocar a sua chave pública de SSH no destino, isto é, o sistema do repositório. As senhas do SSH nunca serão tratadas pelo armazenamento de senhas do Subversion ou pelo KWallet ou pela 'cache' interna de senhas.

Se não quiser que lhe peça a senha da sua chave de SSH, poderá usar o ssh-agent, seleccionando a opção Subversion → Adicionar as identidades de SSH ao ssh-agent, poderá guardar a senha da sua chave de SSH para a sua versão actual, para que não seja necessário mais introduzir a sua senha.

Capítulo 3. Konqueror, KIO, kdesvn
Konqueror, KIO, kdesvn

# Capítulo 3. Konqueror, KIO, kdesvn

## Descrição

Desde a versão 0.7.0 do kdesvn, o mesmo vem com alguns módulos que integram alguns comandos directamente como menus do Konqueror.

Protocolos do KIO

  Implementa as rotinas para os seguintes protocolos:

  - ksvn+http

  - ksvn+https

  - ksvn+file

  - ksvn+ssh

  - ksvn

  Estes protocolos são desenhados apenas para os repositórios, não para as cópias locais. P.ex., o `ksvn+file:///`local`` deverá apontar para o início de um repositório diferente da aplicação em si ou do KPart. As cópias locais poderão ser navegadas através do Konqueror.

  Para escolher uma versão específica, poderá adicionar a pesquisa “?rev=`versão`” ao URL.

Menus de contexto

  O kdesvn instala menus de contexto para o Konqueror. Poderão ser vistos com o botão direito na janela do navegador (apenas no modo normal, não em nenhuma KPart), pelo que seria possível efectuar as acções mais frequentes directamente a partir do Konqueror (ou em outros gestores de ficheiros que lêem os menus de contexto do Konqueror, como o Dolphin). Isto é feito através de uma chamada à variante para a linha de comandos do kdesvn.

### Utilização do KIO fora do Konqueror - um exemplo

Todas as aplicações baseadas no KDE poderão usar estes protocolos. Como tal, seria possível obter todas as diferenças entre duas versões com o KDiff3 sem nenhum conhecimento profundo.

Exemplo 3.1. Obter as diferenças entre as versões com o KDiff3 e o KIO:ksvn

    kdiff3 \
      ksvn://anonsvn.kde.org/home/kde/trunk/KDE/arts?rev=423127 \
      ksvn://anonsvn.kde.org/home/kde/trunk/KDE/arts?rev=455064

Permite ao KDiff3 imprimir todas as diferenças entre duas versões.

### Nota

Se usar isto no kdesvn (diferenças entre duas versões) é MUITO mais rápido porque são usados os mecanismos internos do Subversion.

Informação para os programadores sobre o KIO::ksvn
Informação para os programadores sobre o KIO::ksvn

## Informação para os programadores sobre o KIO::ksvn

### Nota

Poderá ignorar isto se não estiver interessado na programação com o KIO.

O KIO::ksvn::special conhece as seguintes operações; estas são feitas de forma quase igual à existente actualmente no KIO do 'kdesdk-kioslaves' por isso, por exemplo, o KDevelop podê-lo-á usar se o 'kdesdk-kioslaves' não estiver instalado, mas usa o kdesvn::KIO::svn.

### Lista de comandos

Tabela 3.1. Visão geral dos comandos do `KIO::ksvn::special`

Nome do comando | ID numérico | Lista de parâmetros | Implementado na versão actual?
--- | --- | --- | ---

Checkout

1

KURL repositorio, KURL destino, int numVersao, QString tipoVersao

O destino não será modificado isto é, mas o conteúdo será extraído sem criar uma sub-pasta! Por exemplo, a origem poderá estar em `http://servidor/repos/projecto/trunk`, o destino em `/home/utilizador/projecto/` e o conteúdo de 'trunk' será copiado para `/home/utilizador/projecto/` e não para `/home/utilizador/projecto/trunk/`!

Sim

Update | 2 | KURL url, int numVersao, QString textoVersao Se o numVersao < 0, é processado o 'textoVersao'. O formato do 'textoVersao' está descrito no Apêndice. | Sim
Commit | 3 | KURL::List urls O parâmetro 'urls' é uma lista com os URL's locais a enviar. Irá pedir a mensagem de registo. | Sim
Log | 4 | int numVersaoInicial, QString textoVersaoInicial, int numVersaoFinal, QString textoVersaoFinal, KURL::List Use isto com cuidado - poderá produzir uma grande quantidade de dados. | Sim
Import | 5 | KURL repositorioDestino, KURL localOrigem | Sim
Add | 6 | KURL | Sim
Del | 7 | KURL::List | Sim
Reverter | 8 | KURL::List A reversão no KIO é sempre não-recursiva e sem quaisquer confirmações (a invocação da aplicação deverá fazê-lo por si) | Sim
Status | 9 | KURL item, bool verificarRepo, bool recursivo item - o item para o qual obter as informações, verificarRepo - verifica se existem versões mais recentes no repositório, recursivo - a verificação é recursiva ou não. | Sim
Mkdir | 10 | KURL::List | Sim
Resolve | 11 | KURL, bool recursivo | Sim
Switch | 12 | KURL pasta_copia_local, KURL url_novo_repositorio, bool recursivo, int numeroVersao, QString tipoVersao | Sim
Diff | 13 | URL uri1, KURL uri2, int r1, QString rtexto1, int r2, QString rtexto2, bool recursivo Para as diferenças entre repositórios locais, use o protocolo 'file:///'. Para as diferenças entre cópias locais, defina os URL's sem protocolo! | Sim

### Valores devolvidos

Os valores devolvidos podem ser obtidos por meta-dados, veja a documentação da API para mais detalhes.

Tabela 3.2. Conteúdo dos meta-dados

Tecla | Valor possível
--- | ---
path | A localização do item sobre o qual foi feita a acção, isto é o URL indicado
action | O tipo de acção numérico
kind | O tipo de item (se é uma pasta ou um ficheiro)
mime_t | O tipo MIME do item no Subversion
content | O estado do conteúdo (valor do Subversion)
prop | O estado das propriedades (valor do Subversion)
rev | A versão resultante ou a versão manipulada
string | Uma mensagem interna e legível.
loggedaction | O texto da acção definida pelo Subversion sobre o item (A, M, D)
loggedcopyfrompath | Foi copiado a partir de que local? (pode ser vazio)
loggedcopyfromrevision | Foi copiado a partir de que versão? (poderá ser < 0)
loggedpath | Em que local individual a acção registada foi definida (a localização está definida com o URL de invocação)
diffresult | uma linha de resultado das diferenças

Capítulo 4. Usar o kdesvn pela linha de comandos
Usar o kdesvn pela linha de comandos

# Capítulo 4. Usar o kdesvn pela linha de comandos

## Introdução

Algumas operações do Subversion podem ser usadas pela linha de comandos, isto é como se fosse um cliente normal da linha de comandos, mas a interacção com o utilizador é feita através da UI do KDE. A sintaxe normal é `kdesvn exec `comando` `parâmetro` `url``.

Se for desejada uma dada versão ou URL específicos, poderão ser definidos como um parâmetro do URL

    svn://o-seu-servidor/local-do-repositorio/item?rev=<a-sua-versão>

. Isto irá substituir o valor da opção `-r <versão>`.

Uma versão poderá ser indicada como um número, como uma das opções `HEAD` ou `BASE` ou ainda com um formato de data do tipo {AAAA-MM-DD}.

Lista de comandos
Lista de comandos

## Lista de comandos

Se na seguinte visão geral for passado o parâmetro possível `-r `versão``, esta mesma versão poderá ser definida como ``url`?rev=`a-versão``.

Tabela 4.1. Comandos do Subversion

Comando | Significado | Opções aceites
--- | --- | ---
commit (ou ci) | envia as modificações do item para o repositório |
log | Imprime o histórico do item | -r ver-inicial:ver-final -l limitar_visualização
cat | Apresenta o conteúdo do item | -r versão
copy (ou cp) | Copia o item dentro da cópia local ou do repositório. Se não for indicado o destino, o kdesvn pedi-lo-á. |
move (ou mv, rename) | Move/muda o nome do item dentro da cópia local ou repositório. Se não for indicado o destino, o kdesvn pedi-lo-á. |
get | Obtém o conteúdo do item e grava-o | -r versão -o <ficheiro-saída> (este parâmetro é obrigatório!)
blame (ou annotate) | mostra o ficheiro anotado | -r ver-inicial:ver-final
actualizar | Actualiza o item na cópia local | -r versão
diff | Mostra as diferenças entre duas versões do item ou entre dois itens numa dada versão | -r ver-inicial:ver-final
info | Informações detalhadas sobre o item | -r versão
checkout (ou co) | Extrai o conteúdo de 'local-repositório' para uma nova cópia local. Poderão ser pedidos o local de destino e a versão original. |
checkoutto (ou coto) | Extrai o conteúdo do 'local-repositório' para uma nova cópia local. A diferença é que serão questionados o local de origem e a versão de origem. |
export | Exporta o repositório ou a cópia local para uma dada pasta. Serão pedidos o local de destino e a versão de origem. |
exportto | Exporta o repositório ou a cópia local para uma dada pasta. Serão pedidos o local de origem e a versão de origem. |
delete (del, remove, rm) | apaga os URL's indicados do repositório ou da cópia local. |
add | adiciona o URL à cópia local. O URL deverá pertencer a uma cópia local (não é uma importação!) |
revert (ou undo) | anula as alterações efectuadas sobre a cópia local. Poderá ser usado apenas para URL's de da cópia local! |
checknew (ou addnew) | procura no URL indicado por itens novos ou não-adicionados, adicionando-os à cópia local se o desejar. |
tree | mostra uma árvore de versões do item (só o primeiro argumento); se for indicado um URL com “?rev=`xxx`”, esta versão será a versão de referência. | -r ver-inicial:ver-final
lock | bloquear os URL's indicados; se for indicado `-f`, então serão libertados os bloqueios existentes. | -f
unlock | desbloquear os URL's indicados; se for indicado `-f`, então serão libertados os bloqueios não pertencentes ao utilizador e os bloqueios inexistentes serão ignorados. | -f
help | mostra esta página |

Tabela 4.2. Parâmetro dos comandos do Subversion

Parâmetro | Valores possíveis | permitido para
--- | --- | ---
`-r` | `versão` ou `ver-inicial:ver-final` | todos excepto o 'commit'
`-R` | (nenhuma) | todos excepto o 'commit'
`-o` | `ficheiro` | get
`-l` | `número` | log
`-f` | (nenhuma) | (un-)lock

### O comando “log”

Este comando mostra uma janela que contém o histórico do URL indicado. Com o Subversion 1.2 ou posterior, poderá aceitar um limite isto é quantos itens terá para apresentar.

Dentro desta janela, poderá seleccionar os itens do histórico e obter as diferenças entre eles.

Exemplo 4.1. Mostrar os últimos 20 registos do histórico

    kdesvn exec log -l 20 -r HEAD:1 o-meu-ficheiro.c

Tenha em atenção a ordem das versões: se desejar ir de HEAD para START, terá de indicar a versão HEAD como ponto inicial, caso contrário irá obter os primeiros 20 itens.

### O comando “diff”

Irá obter as diferenças entre as versões de um item ou entre dois itens dentro da mesma cópia local ou repositório. Ao determinar as diferenças entre versões de um item, essas versões poderão ser indicadas como `-r `VERSÃO-INICIAL`:`VERSÃO-FINAL``. Ao ver as diferenças entre um item numa cópia local sem qualquer versão, irá mostrar as diferenças face ao repositório.

Exemplo 4.2. Imprime as diferenças face ao repositório, isto é cópias locais

    kdesvn exec diff o-meu-ficheiro.c

Exemplo 4.3. imprime as diferenças entre versões

    kdesvn exec diff -r 21:20 o-meu-ficheiro.c

Ao determinar as diferenças entre dois itens, poderá indicar as versões dos itens ao URL dos mesmos, isto é:

    http://servidor/local/item?rev=HEAD

Exemplo 4.4. Diferenças entre duas versões marcadas

    kdesvn exec diff http://www.alwins-world.de/repos/kdesvn/tags/rel_0_6_2 http://www.alwins-world.de/repos/kdesvn/tags/rel_0_6_3

Capítulo 5. Configuração
Configuração

# Capítulo 5. Configuração

As definições podem ser alteradas na janela de configuração. Estas estão separadas em algumas sub-janelas.

## Geral

Tamanho dos ícones da lista | Quão grandes deverão ficar os ícones na lista principal da aplicação
Mostrar a informação do ficheiro | Se deve mostrar uma pequena dica quando passar o cursor do rato sobre um dado item
Marcar o estado do item com um ícone sobreposto | Quando um item não estiver num estado normal do Subversion, poderá ter sobreposto um ícone de sinalização. (Ver em “Significado dos ícones sobrepostos”)
A ordenação dos itens distingue maiúsculas/minúsculas | Se o critério de ordenação na janela principal deve fazer distinção entre maiúsculas e minúsculas, isto é, se “a” é ou não igual a “A”.
Mostrar os ficheiros ignorados | Mostrar os itens marcados no Subversion para serem ignorados ou não.
Número máximo de mensagens do histórico | Quantas mensagens de registo histórico o kdesvn deverá recordar.
Mostrar a anotação colorida | Usar as cores definidas na janela de configuração das anotações.
Usar o painel de navegação | Activar/desactiva a visibilidade da árvore do repositório.

Configuração do Subversion e de tarefas agendadas
Configuração do Subversion e de tarefas agendadas

## Configuração do Subversion e de tarefas agendadas

Tabela 5.1. Subversion

Iniciar a verificação de actualizações ao abrir uma cópia local | Quando abre uma cópia local, inicia uma verificação por actualizações em segundo plano
Iniciar o preenchimento da 'cache' ao abrir | Se estiver activo, o kdesvn começa a preencher a 'cache' do histórico ao abrir um repositório ou cópia local, caso o URL do repositório não seja local (`file://`)
Verificar se os itens têm o “svn:needs-lock” activo | Verifica nas cópias locais se um dado item tem esta propriedade definida e, em caso afirmativo, mostra um ícone sobreposto especial. Se activa esta opção, tornará as listagens realmente lentas.
Obter os detalhes dos ficheiros nas listagens remotas | Quando estiver assinalado, o kdesvn irá obter mais informações detalhadas sobre os itens dos ficheiros ao criar uma listagem dos repositórios remotos. Assim poderá ver os bloqueios remotos na visão geral. Tenha cuidado: Isto poderá tornar as listagens REALMENTE lentas!
Ler de forma recursiva as informações dos ficheiros | Se estiver activo, a “informação” das pastas irá obter informações sobre todos os itens abaixo, o que se poderá tornar demasiado lento.

Guardar as senhas das ligações remotas

O armazenamento de senhas é normalmente um problema de segurança. O Subversion guarda as suas senhas num ficheiro simples, isto é, senhas em texto simples! Por isso, tenha cuidado em activar esta opção, vendo também o item a seguir. Este item só diz que a gravação das senhas está activa por omissão; podê-la-á modificar para domínios específicos na janela de autenticação.

Guardar as senhas na Carteira do KDE

Ao gravar as senhas, o ficheiro de texto simples do Subversion é uma falha de segurança. O kdesvn é capaz de as gravar na carteira encriptada do KDE (desde a versão 0.12.0) e usá-las daí. Por outro lado, os outros clientes de Subversion não são capazes de as ler, pelo que as deverá introduzir se usar algumas ferramentas como o svn pela linha de comandos ou o rapidsvn. Dado que o Subversion não encripta as senhas, deverá pensar duas vezes sobre o assunto.

Usar a 'cache' interna de senhas | Quando uma senha não está guardada de forma persistente, o kdesvn poderá guardá-la até que o kdesvn termine, para que não tenha de a introduzir de novo em cada operação. A 'cache' nunca é persistente, isto é, não será gravada em lado nenhum.
O registo segue as mudanças de nós | Se estiver assinalado, o registo histórico segue as operações de cópia.
O registo lê sempre a lista de ficheiros alterados | O comando de histórico poderá ler uma lista dos ficheiros alterados no envio. Isto é útil e, na maioria dos casos, não irá custar mais tráfego de rede.
Rever os itens antes do envio | Ao efectuar um envio, o kdesvn poderá verificar o que fazer. Por exemplo, se tiver itens não-adicionados que possam ser adicionados, os itens da lista mudam e a operação actual irá enviar essas modificações. Isso irá custar, dependendo da estrutura, mais ou menos tempo.
Esconder os itens novos na janela de envio | Se os itens não-adicionados deverão aparecer na janela de envio ou não.
A actualização modifica em vez de gerar conflitos | Se estiver activa, uma adição local no mesmo sítio em que virá uma adição do mesmo tipo de nó do repositório irá resultar num nó normal com uma possível modificação local, em vez de um conflito da árvore.
A actualização cria os pais em falta | Se estiver activo, cria também as pastas não existentes, marcando-as com profundidade=vazia

Tabela 5.2. Tarefas periódicas

Verificar os itens modificados a cada N segundos Verificar os itens actualizados a cada N segundos | Se estiver activo verifica, a um ritmo periódico, os itens actualizados ou modificados na cópia local quando a rede está activa

Diferenças & Reunião
Diferenças & Reunião

## Diferenças & Reunião

As diferenças ignoram o tipo de conteúdo

  Só é interessante se as diferenças forem feitas com o próprio Subversion. Quando estiver activo, o Subversion ignora o tipo de conteúdo dos itens nas diferenças. Caso contrário, não irá mostrar as diferenças nos ficheiros binários.

As diferenças na árvore de versões são recursivas

  Quando estiver activo, as diferenças analisadas dentro da árvore de versões serão feitas de forma recursiva como nos outros casos. Caso contrário, só serão feitas as verificações nos itens da pasta actual. Como isso é feito, depende de como gera as diferenças (pelo Subversion em si ou pelos visualizadores externos).

As diferenças ignoram as mudanças de espaços em branco

  Ignora a quantidade de espaços em branco (opção `-b` no diff)

As diferenças ignoram todos os espaços em branco

  Ignorar todos os espaços em branco (opção `-w` do diff)

Preferir um programa de junção externo

  Active se for preferível a junção com um programa externo em vez do do Subversion

Usar o formato de diferenças do Git

Mostrar as cópias como adições

### Usar uma visualização de diferenças externa

Selecciona uma aplicação externa para mostrar as diferenças. Por omissão é usado o Kompare.

### Visualização externa das diferenças

Define o que o kdesvn usa para a visualização externa e como será chamado. Existem três formas:

<programa> <parâmetro>

  A diferença será gerada com o Subversion e será colocada directamente como dados de entrada do programa externo (isto é, sem qualquer ficheiro temporário)

<programa> <parâmetro> %f

  A diferença será gerada com o Subversion, gravada num ficheiro temporário e o parâmetro `%f` será substituído por esse nome de ficheiro. Isto poderá ser usado, por exemplo, com uma simples chamada ao less ou a outro visualizador de texto.

<programa> <parâmetro> %1 %2

  O kdesvn permite ao programa externo criar as diferenças. O %1 e o %2 serão substituídos pelos valores obrigatórios (nomes dos ficheiros ou pastas). O kdesvn guarda o conteúdo a comparar num ambiente temporário (quando são pastas, efectua uma “exportação”, quando é um único ficheiro, efectua uma “leitura”), se necessário, e limpa esse ambiente após fechar o programa externo ou a si próprio.

Preferir um programa de junção externo

  Seleccione se na janela de reunião a opção Usar um programa externo deverá estar assinalada ou não por omissão.

### Programa de reunião externo

Configura o programa e as opções para usar quando a reunião de versões incorporada do Subversion não é desejada. Por omissão, o valor é kdiff3 %s1 %s2 %t. A ordem das variáveis de substituição não é importante e poderão existir mais que uma vez, isto é em `kdiff3 -o %t %s1 %s2 %t`. Esta funcionalidade só foi testada com o meld e o KDiff3. Pense no facto de que os programas externos normalmente não conhecem alguns dos parâmetros para ignorar do Subversion, pelo que poderão mostrar mais do que o esperado.

#### Substituição de variáveis no programa de reunião externo

%s1

  Substituído pela origem 1.

%s2

  Substituído pela origem 2. Se estiver em branco ou se for igual à origem 1, do mesmo modo que a versão de início e de fim forem as mesmas, esta variável será ignorada. Por isso, tenha cuidado ao definir as linhas de comando do tipo xxdiff --title1 %s1 --title2 %s2 %s1 %s2 %t.

%t

  Substituído pelo destino.

### Programa de resolução de conflitos

Poderá usar um programa externo como o KDiff3 para resolver conflitos. Por omissão, o valor é kdiff3 %o %m %n -o %t.

#### Substituição de variáveis na resolução de conflitos externos

Entre parêntesis, a seguir a cada descrição, aparece um exemplo de como o Subversion iria chamar os ficheiros. O significado destas opções está desenhado para o KDiff3, porque neste momento é a única forma conhecida de suportar todos os parâmetros necessários para uma boa resolução de conflitos.

%o ou %l

  A versão antiga (local,esquerda). Isto corresponde ao número de versão menor, isto é o ponto inicial das modificações em conflito. (`xpto.cc.r2`)

%m ou %w

  A sua versão (de trabalho), isto é o que alterou face à versão antiga. (`xpto.cc.mine`)

%n ou %r

  A versão nova (remota,direita). Por exemplo, a versão que outra pessoa poderá ter feito (`xpto.cc.r3`)

%t

  O nome do destino, isto é, o nome original. Para o KDiff3 (por exemplo), seria o nome a seguir ao parâmetro `-o` (= ficheiro de saída). (`xpto.cc`)

KIO / linha de comandos
KIO / linha de comandos

## KIO / linha de comandos

Mostrar o registo após executar um comando

  Se deverá abrir uma janela com o registo do último comando de Subversion e quando foi feito pela linha de comandos ou pelo menu de acção do Konqueror.

Mínimo de registos de histórico a mostrar

  Se a opção Mostrar o registo... estiver activa, qual será o número mínimo de linhas antes de uma destas janelas aparecer. Como tal, poderá definir que uma janela destas só será apresentada quando for gerado algum resultado interessante (um registo de envio ou algo do género).

Não mostrar o menu de contexto no Konqueror

  Se estiver activo, não será criado nenhum item de menu de acção para o kdesvn no Konqueror.

Não mostrar os itens no menu de acção de topo

  Se estiver activo, o kdesvn não irá mostrar as acções extra dentro do menu Acção do Konqueror ou do Dolphin.

As operações do KIO usam a mensagem de registo normal

  Ao efectuar operações sobre um repositório com o protocolo KIO do kdesvn dentro do Konqueror (isto é, protocolos “ksvn+...”) em operações vastas, como a cópia ou mudança de local de pastas, o kdesvn iria pedir uma mensagem de registo para cada item). Isto é um comportamento do Konqueror. Quando esta opção está activa, a implementação de KIO do kdesvn não irá pedir nenhuma mensagem de registo, mas irá sim usar uma mensagem-padrão ou mensagem normal de registo. Estas opções não afectam as operações do menu de acção do kdesvn para o Konqueror, mas apenas as cópias/mudanças/criações de pastas/remoções feitas com o Konqueror ou com outros gestores de ficheiros sobre um URL do KIO.

Mensagem normal

  A mensagem que o KIO do kdesvn deverá atribuir às operações dentro do Konqueror quando a opção acima estiver activa. Por omissão, é usada a opção Versão feita com o KIO do kdesvn.

O KIO pode sobrepor

  Se esta opção estiver activa, irá ter um suporte de escrita simples para os itens existentes. isto é poderá abrir os ficheiros no seu editor e gravá-los directamente sem ter de os obter primeiro (o kdesvn fará isso em segundo plano).

  Use isto apenas se tiver a certeza do que está a fazer.

O KIO mostra as mensagens de progresso

  Se estiver activo, o KIO mostra no Plasma do KDE alguma informação detalhada sobre a operação em curso. As mensagens de erro do KIO serão sempre apresentadas e não podem ser desligadas.

Capítulo 6. Referência de Comandos
Referência de Comandos

# Capítulo 6. Referência de Comandos

## A janela principal do kdesvn

### O Menu Ficheiro

Ficheiro → Abrir (Ctrl+O)

  Abre uma cópia de trabalho local ou um repositório previamente extraído

Ficheiro → URL's abertos recentemente

  Este é um atalho para abrir os repositórios abertos recentemente. Se carregar neste item, irá abrir uma lista do lado do menu com diversas cópias locais ou repositórios abertos recentemente. Se carregar num item específico, abri-lo-á no kdesvn

Ficheiro → Novo (Ctrl+N)

  Abre uma janela com uma nova instância do kdesvn

Ficheiro → Administração do Subversion

  Itens de menu com tarefas administrativas para os repositórios de Subversion, como por exemplo:

  Criar e abrir um novo repositório
  Guardar os dados do repositório num ficheiro
  Replicar um repositório
  Carregar um ficheiro de dados para um repositório

  Para mais informações, veja o resultado do comando svnadmin --help

Ficheiro → Fechar (Ctrl+W)

  Fecha o repositório ou cópia local aberto de momento

Ficheiro → Sair (Ctrl+Q)

  Sai do kdesvn

### O Menu Favorito

Veja a ajuda do Konqueror.

### O Menu Subversion

Acções gerais do Subversion

Subversion → Geral → Histórico do item (Ctrl+L)

  Mostra o registo histórico completo do item seleccionado de momento. Tenha cuidado, esta lista poderá ficar realmente grande!

Subversion → General → Histórico do item sem cópias... (Ctrl+Shift+L)

  Mostra o registo histórico do item seleccionado sem as cópias adjacentes.

Subversion → Geral → Detalhes (Ctrl+I)

  Mostra informações detalhadas sobre os itens seleccionados

Subversion → Geral → Anotação

  Cria uma lista anotada de todas as modificações efectuadas. Isto poderá levar algum tempo!

Subversion → Geral → Anotação do intervalo

  Mostra as anotações de um dado conjunto de versões de um ficheiro.

Subversion → Geral → Mostrar a última versão

  Mostra o conteúdo da última versão desse item. (poderá ser diferente da versão da cópia local se estiver a trabalhar sobre uma!)

Subversion → Geral → Mover (F2)

  Move ou muda o nome de um item dentro de uma cópia local ou de um repositório

Subversion → Geral → Copiar (Ctrl+C)

  Copia o item dentro de uma cópia local ou de um repositório

Subversion → Geral → Apagar os ficheiros/pastas seleccionados (Del)

  Apaga os elementos seleccionados. Se estiver a trabalhar dentro de uma cópia local, deverá confirmar as suas remoções posteriormente.

Subversion → Geral → Nova pasta

  Cria uma nova pasta.

Subversion → Geral → Importar as pastas para o actual

  Selecciona as pastas que deseja importar para a pasta seleccionada de momento

Subversion → Geral → Extrair um repositório

  Cria uma nova cópia local de um repositório

Subversion → Geral → Exportar um repositório

  Exporta um repositório para o sistema de ficheiros, isto é cria uma árvore de versões limpa e sem qualquer informação do Subversion.

Subversion → Geral → Bloquear os itens actuais

  Marca os itens actuais como bloqueados. Leia o manual do Subversion antes de usar esta opção!

Subversion → Geral → Desbloquear os itens actuais

  Remove as marcações de bloqueio dos itens actuais. Leia o manual do Subversion antes de usar esta opção!

Cópia local

Subversion → Cópia local → Actualizar para o HEAD

  Actualiza a cópia local para a última versão do repositório

Subversion → Cópia local → Actualizar para a versão...

  Actualiza a cópia local para uma dada versão do repositório

Subversion → Cópia local → Enviar (Ctrl+#)

  Envia as modificações na cópia local dos itens seleccionados para o repositório.

Subversion → Cópia local → Diferenças das modificações locais (Ctrl+D)

  Mostra as alterações locais como resultado das diferenças (sem acesso à rede). Esta é a diferença apenas ao último estado para o qual foi actualizada a cópia local, e não face à versão no repositório.

Subversion → Cópia local → Diferenças para o HEAD (Ctrl+H)

  Mostra as diferenças da cópia local actual para a última versão no repositório.

Subversion → Cópia local → Propriedades (Ctrl+P)

  Ver/editar as propriedades atribuídas ao item actual.

Subversion → Cópia local → Adicionar os ficheiros/pastas seleccionados (Insert)

  Adiciona os ficheiros e/ou pastas seleccionados ao controlo de versões.

Subversion → Cópia local → Reverter as alterações actuais

  Anula as últimas alterações efectuadas sobre a cópia local e actualiza para o último estado de actualização.

Subversion → Cópia local → Marcar como resolvido

  Marca os itens em conflito como resolvidos e remove os ficheiros associados aos conflitos.

Subversion → Cópia local → Reunir duas versões

  Reune duas versões dos itens na cópia local.

Subversion → Cópia local → Ignorar/Aceitar o item actual

  Edita a propriedade da pasta-mãe em relação ao item seleccionado de momento, de modo a que este item passe a ser ignorado pelo controlo de versões; caso contrário, remove-o da lista de itens a ignorar.

Subversion → Cópia local → Limpar

  Limpa a cópia local de quaisquer ficheiros de envio bloqueados, se existirem

Subversion → Cópia local → Mudar de repositório

  Muda o nó de topo da cópia local actual.

Repositório

Subversion → Repositório → Extrair a localização do repositório actual

  Cria uma cópia local a partir do item seleccionado de momento, se for uma pasta.

Subversion → Repositório → Exportar a localização do repositório actual

  Cria uma cópia limpa no sistema de ficheiros local do item seleccionado de momento, se for uma pasta.

Acções do 'Ver'

Subversion → Ver → Actualizar a janela (F5)

  Actualiza o estado actual de todos os itens apresentados. Isto irá apresentar todos os itens com o estado actual.

Subversion → Ver → Expandir/Fechar a Árvore de Ficheiros

  Expande ou recolhe a árvore de repositórios.

Subversion → 'Cache' do Registo → Parar a actualização da 'cache' do histórico

  O registo histórico fica em 'cache' e é usado para mostrar a árvore de versões de um repositório. Dependendo da ligação à Internet, do tamanho do repositório de Subversion e do tamanho do histórico, isto poderá levar muito tempo. Como tal, poderá parar de actualizar a 'cache' com esta acção.

Subversion → Geral → Adicionar identidades do SSH ao ssh-agent

  Grava a sua senha da chave de SSH para a sua sessão actual, para que não seja mais necessário introduzir a sua senha.

### O Menu Base de Dados

Base de Dados → Mostrar o conteúdo da base de dados

  Apresenta uma visão geral sobre o conteúdo da base de dados da 'cache' para os repositórios conhecidos e permite apagar a 'cache' ou o repositório e aceder às definições do mesmo.

Base de Dados → Configuração do repositório actual

  Mostra uma janela para adaptar a configuração da 'cache', dos registos e das estatísticas.

### Os Menus de Configuração e Ajuda

À parte dos menus de Configuração e Ajuda comuns do KDE, descritos nas secções dos menus de Configuração e Ajuda dos Fundamentos do KDE, o kdesvn tem este item de menu adicional:

Configuração → Configuração rápida
  Carregar o último URL aberto no arranque

    Volta a carregar o último URL aberto, caso não tenha sido indicado nenhum na linha de comandos.

  Os registos seguem as mudanças dos nós

  Mostrar os ficheiros ignorados

    Mostrar os itens marcados no Subversion para serem ignorados ou não.

  Mostrar os ficheiros desconhecidos

    Mostrar os ficheiros por adicionar ao repositório do Subversion.

  Esconder os ficheiros inalterados

    Use esta acção para mostrar apenas os ficheiros alterados, dando uma visão geral clara e concisa.

  Modo ligado

    Se trabalhar desligado da rede, a 'cache' do registo histórico não será actualizada, pelo que o histórico em 'cache' poderá ser diferente do real.

Capítulo 7. Créditos, Licença e Agradecimentos
Créditos, Licença e Agradecimentos

# Capítulo 7. Créditos, Licença e Agradecimentos

Programa com 'copyright' 2005-2009 de Rajko Albrecht `(ral AT alwins-world.de)`

Muito obrigado aos contribuintes:

- Andreas Richter `(ar AT oszine.de)` - pela versão para Qt4 do 'svnqt'

- Michael Biebl `(biebl AT teco.edu)` - por uma enorme ajuda, ideias, implementação e sugestões.

- Bram Schoenmakers `(bramschoenmakers AT kde.nl)` - para sugestões específicas do KDE, pela tradução para holandês e pela limpeza do código do autor.

E obrigado para todos os tradutores e por todas as reacções positivas e negativas. Foi uma ajuda preciosa.

Se quiser enviar a sua própria tradução para o kdesvn e poder precisar de ajuda, leia por favor a página de Localização do KDE ou pergunte na lista de correio em `(kde-i18n-doc AT kde.org)`.

Documentação com 'copyright' 2005-2006 de Rajko Albrecht `(ral AT alwins-world.de)`

Tradução de José Nuno Pires `(zepires AT gmail.com)`

A documentação está licenciada ao abrigo da GNU Free Documentation License.

Este programa está licenciado ao abrigo da GNU General Public License.

Apêndice A. Sintaxe das versões
Sintaxe das versões

# Apêndice A. Sintaxe das versões

As versões poderão ser indicadas no mesmo formato que o do cliente svn normal. Isto significa, números, palavras-chave ou datas.

Número

  Um número maior ou igual a -1. -1 significa “versão não definida”, enquanto o 0 é a versão inicial. Normalmente estes números não deveriam ser usados (a maioria das operações será mal sucedida com elas).

Palavra-Chave

  Uma das

  - HEAD

  - BASE

  - COMMITED

  - PREV

  - START

  - LOCAL

  As palavras-chave distinguem entre maiúsculas e minúsculas! Por exemplo, 'head' não é o mesmo que 'HEAD'.

Data

  Data no formato {AAAA-MM-DD}. Deverá ter mesmo dois dígitos em MM ou DD - isto é 2005-1-1 dever+a ser escrito como {2005-01-01}.

A adição de uma versão específica a um URL será sempre feita através de “?rev=`versão`”.