# Manual do &kdesvn;

## Introdução

O &kdesvn; é um cliente subversion para o &kde;.

Você precisar ter algum conhecimento sobre o subversion, mas, felizmente, a maioria dos itens são autoexplicativos.

Os relatórios de erros e solicitações de novas funcionalidades podem ser enviados através do Sistema de gerenciamento de erros do &kde;.

### Termos

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

Repositório

- Central de armazenamento de dados. Pode ser um banco de dados ou um sistema de arquivos simples. Sem os clientes especiais, você não poderá ler os dados nele contidos. O &kdesvn; é um cliente para repositórios do Subversion.

Cópia de trabalho

- Uma cópia simples de um repositório no sistema de arquivos local. Esta é usada com qualquer gerenciador de arquivos normal, editando arquivos, etc. As informações do RCS podem ser lidas com clientes como o &kdesvn;.

  Lembre-se de que o subversion não sabe nada sobre o KIO, sendo necessário que a cópia local esteja em uma área onde possa ser acessada sem qualquer protocolo específico, ⪚, fish:// ou algo do gênero não será possível.

WebDav

- WebDAV é um protocolo que lhe permite modificar arquivos em um servidor Web remoto. O Subversion é um tipo especial de WebDAV quando os repositórios são acessados a partir de um servidor Web. Em uma utilização normal, este modo é apenas para leitura. Com configurações especiais, você poderá obter um WebDAV ativo para leitura e gravação que poderá acessar com um navegador especializado. O &kdesvn; NÃO é um cliente WebDAV, mas o &konqueror; é através do seu protocolo webdav://. Contudo, com o &kdesvn; você poderá navegar pela árvore de versões de um repositório (através de http://)

## Usando o &kdesvn;

### Funcionalidades do &kdesvn;

O &kdesvn; consegue usar os seguintes protocolos para navegar pelos repositórios:

http

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

https

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

(k)svn+http

- Protocolo padrão de navegação Web. Pode ser usado para deixar que o &konqueror; chame o &kdesvn; automaticamente.

(k)svn+https

- Protocolo padrão de navegação Web segura. Pode ser usado para deixar que o &konqueror; chame o &kdesvn; automaticamente.

(k)svn+file

- Protocolo de repositórios locais. Pode ser usado para deixar que o &konqueror; chame o &kdesvn; automaticamente.

(k)svn

- Protocolo do próprio do servidor do Subversion.

(k)svn+ssh

- Subversion sobre SSH. Veja as Perguntas frequentes para obter alguns detalhes especiais deste protocolo.

file

- Acesso direto ao repositório. O &kdesvn; verifica se um determinado caminho é um repositório ou uma cópia de trabalho e abre-o no modo correto. Para o Subversion, o `file:///pasta` e `/pasta` não são a mesma coisa!

Esta lista também pode ser usada para as &URL;s indicadas através da linha de comando.

### 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

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 Subversion Geral Extrair um repositório . Dentro da caixa de diálogo seguinte, você deverá indicar a &URL; do repositório que deseja usar, ⪚, `http://localhost/repos/meu-projeto`. Também é possível obter subpastas de um repositório, ⪚, `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 Subversion Repositório Obter 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 &Ctrl;# Subversion Cópia de trabalho Commit

Se tentar enviar sem qualquer item selecionado, o &kdesvn; irá usar o elemento de topo da cópia de trabalho aberta, &ie;, 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, &ie;, 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 Subversion Cópia de trabalho Atualizar 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 Subversion Cópia de trabalho Atualizar 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 Insert Subversion Cópia de trabalho Adicionar os arquivos/pastas selecionados . Quando quiser adicionar novas pastas, com todos os seus subitens, selecione a opção &Ctrl;Insert Subversion Cópia de trabalho Adicionar recursivamente os arquivos/pastas selecionados .

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 Subversion Cópia de trabalho Verificar 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 Subversion Geral Excluir 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 subversion-settings), 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.

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 (&ie;, revisão de início) e Definir a versão do lado direito das diferenças (&ie;, 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.

### Trabalhando com os repositórios

A navegação simples pelo repositório poderá ser feita com o &konqueror;, &dolphin; ou outros navegadores de arquivos similares: Abra uma URL com o protocolo descrito em kdesvn-features (as variantes que começam com k), para que estas apresentem o conteúdo. Por isso, as operações simples como cópia, mudança de local e exclusão poderão funcionar. Ao adicionar uma pesquisa do tipo ?rev=`xxx` a listagem virá de uma revisão específica. O formato da pesquisa por revisões está descrito em revision-syntax, sendo que algumas informações sobre o KIO::ksvn podem ser consultadas em kdesvn-kio

Todo o trabalho, exceto o Copiar, só poderá ser feito quando navegar pela revisão HEAD.

#### Restaurando os itens excluídos

No subversion, a restauração de itens excluídos é uma operação de cópia do item para uma determinada revisão. Por isso, quando pensar em restaurar arquivos, veja o repositório na revisão anterior à exclusão do item. Selecione Subversion Repositório Selecionar a revisão a navegar e indique a revisão desejada. Agora o &kdesvn; mostra o conteúdo até este ponto. Marque o item que deseja restaurar e selecione a opção C Subversion Geral Copiar . Dentro da caixa de diálogo seguinte, o destino está sempre na revisão HEAD (a última), a origem está na versão que vocês escolheu para navegar. Preencha o caminho de destino, clique em OK e inicie a cópia. Após o sucesso da operação, volte a colocar a navegação na revisão HEAD, para que apareça o item restaurado.

#### Importando pastas

Devido a restrições do próprio subversion, apenas pastas podem ser importadas - os arquivos individuais não são permitidos.

##### Com arrastar e soltar

Marque em qualquer gerenciador de arquivos compatível a pasta que deseja importar e arraste-a para o item da pasta no &kdesvn; onde deseja importá-la.

##### Selecionar a pasta a importar com o navegador de diretórios

Marque a pasta para onde deseja importar uma pasta nova. Depois, selecione a opção Subversion Geral Importar diretórios no atual e selecione a sua pasta desejada.

### Outras operações

#### Mesclar

Abra o repositório ou a cópia de trabalho, marque o item que deseja mesclar e selecione a opção Subversion Geral Mesclar . Digite na caixa de diálogo seguinte os valores que pretende. Se for aberto a partir de um repositório, a origem 1 e a origem 2 estarão preenchidos; se for aberto a partir de uma cópia de trabalho, o destino estará preenchido com o item atualmente selecionado. 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 deve ser SEMPRE um arquivo ou pasta local. Você poderá alternar entre uma mesclagem interna ou externa com a opção Usar mesclagem externa.

##### Mesclagem interna

O significado é exatamente o mesmo da ferramenta de linha de comando própria do subversion. Quando a origem1 e a origem2 forem 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 de trabalho, caso contrário, o subversion 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 ativa, os itens não-relacionados serão tratadas como se fossem. Caso contrário, o subversion irá remover um lado e adicioná-lo ao outro lado novamente.

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

- Se não estiver definido e se a mesclagem precisar excluir um item modificado ou não-adicionado, a mesclagem do subversion não funcionará. Caso contrário, esses itens serão excluídos.

Apenas executar como teste sem modificação

- Se estiver ativo, o subversion envia apenas a notificação do que iria fazer, mas não modifica a cópia de trabalho.

##### Usando um programa de mesclagem externo

Veja mais detalhes diffmerge-settings para configurar a ferramenta de mesclagem externa. O &kdesvn; gera a linha de comando como está descrito ali. Antes disso, ela faz o seguinte:

1. Atribui a revisão inicial como revisão da origem 1 e a revisão final à origem 2. Depois, verifica se elas são diferentes (caminho e/ou revisão). Caso afirmativo, será feita uma mesclagem em três-pontos, senão será uma mesclagem simples entre a origem e o destino. Se a origem 2 estiver em branco, será também uma mesclagem simples.

2. Faça uma exportação para uma pasta temporária. Se for uma mesclagem simples, só existe a revisão inicial de origem 1, caso contrário, serão usadas ambas as origens com suas revisões. Se o item for um arquivo e não uma pasta, então obtém o conteúdo de uma revisão específica.

3. Gera a chamada para o seu programa de mesclagem externo, tal como definido nas Configurações. O resultado do erro será apresentado na janela de registro, para que você possa ver o que está acontecendo de errado (se algo estiver errado).

Nas diferenças com um destino de mesclagem interno, um arquivo/pasta fora do controle de versões não aparecerá porque as ferramentas externas irão ignorá-lo.

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

#### Resolvendo conflitos

O &kdesvn; propriamente dito não tem um módulo de resolução de conflitos, mas você pode usar aplicativos externos a partir do &kdesvn;. Em extern-resolve-setup você encontra uma descrição de como configurar este aplicativo.

Ao marcar um item com o status definido como em conflito (você verá uma cruz vermelha nesses itens), você poderá selecionar a opção Subversion Cópia de trabalho 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 configurado (ou o padrão). Depois de concluir essa tarefa, você deverá marcar o item como resolvido (Subversion Cópia de trabalho Marcar como resolvido), caso contrário, não poderá enviar as suas alterações.

### Propriedades usadas pelo &kdesvn; para configuração

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

O projeto TortoiseSVN projetou um bom sistema de propriedades para integrar os sistemas de gerenciamento de erros para a interface do Subversion. Até este momento, o &kdesvn; não tem suporte a campos extra na área de envios (terá no futuro) e não compreende todas as propriedades, exceto as seguintes:

#### Propriedades de integração com sistemas de gerenciamento de erros

Propriedades | Descrição | Exemplo
`bugtraq:url` | Guarda a &URL; do sistema de gerenciamento de erros. Ela terá que 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 apenas uma expressão estiver definida, então o ID básico do erro deverá ter correspondência nos grupos do texto da expressão regular. Se estiverem definidas 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 (⪚, Erro #123 ou resolve o erro 123). A segunda expressão será então usada para extrair o ID básico do erro a partir do texto extraído com a primeira expressão. Tenha cuidado para não incluir espaços após a expressão regular e não se esqueça dos parênteses em torno da descrição do número. | Único (pode ser usado com o TRAC):
    #(\d+)
Agora todos os números do tipo `#190` serão processados e traduzidos para uma &URL; na saída do registro. Duas expressões:
    [Ii]ssue #?(\d+)(,? ?#(\d+))*
    (\d+)
##### Lembrar Tenha cuidado com os espaços em branco após `(\d+)`! Esse é um dos erros mais comuns, quando as expressões não correspondem!

Nos repositórios locais abertos (&ie;, no protocolo `file://`) e nas cópias de trabalho, estas propriedades serão pesquisadas de baixo para cima, a partir da pasta aberta, até que sejam encontradas ou que se chegue ao nível superior do repositório. Nos repositórios abertos pela rede (todos, exceto o protocolo `file://`), apenas a pasta aberta é pesquisada.

O suporte para vários conjuntos de propriedades deste tipo pode seguir mas tarde (⪚, na subpasta, os valores extras para outros sistemas de registro, &etc;), mas na maioria dos casos, a avaliação de links exclusivos será suficiente.

### Árvore de revisões

A árvore de revisões tenta apresentar o histórico completo de um item, para que o usuário possa ter uma percepção melhor sobre o histórico de um item. Ele pode avaliar o registro completo do repositório, porque precisará de mais informações do que as fornecidas pelo Subversion. Como isso produz uma grande quantidade de tráfego, a árvore de revisões usa sempre o cache interno do registro.

#### Requisitos

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

### Cache interno do registro

O &kdesvn; poderá usar um cache interno do registro para algumas operações. Na maioria dos casos é usado para a árvore de revisões, mas também ao ver o registro simplificado no modo desconectado. Os caches estão organizados como bancos de dados SQLite armazenados em `$HOME/.sqvnqt/logcache`. Cada arquivo numerado é um armazenamento de um repositório diferente.

Os bancos de dados poderão ficar enormes! Por isso, você poderá desativar a atualização automática do cache do registro nas configurações.

Você poderá simplesmente remover um banco de dados; aí, não será devolvido qualquer registro para esse repositório (nem qualquer árvore de revisões!), mas se não desativar a atualização automática do cache, ao abrir da próxima vez este repositório ou uma cópia de trabalho associada o mesmo será preenchido novamente.

#### Modo desconectado

O &kdesvn; poderá funcionar sem acesso à rede, &ie;, você pode desconectar-se da rede para usá-lo. Isso pode ser útil quando estiver trabalhando sem rede, como ocorre às vezes com notebooks. Nesses casos, o &kdesvn; sempre irá obter o histórico do cache interno. Até o momento (23/06/2008), esse registro está reduzido às funções básicas por razões técnicas, e o histórico em cache pode (mas não deve) ser diferente do registro real. Será diferente na medida que não mostrará todas as operações de cópia, mesmo que a opção O registro segue as alterações de nós esteja assinalada.

#### O cache do histórico e a árvore de revisões

A árvore de revisões só usará o cache do histórico porque, se não fosse assim, teria que sempre obter os registros novamente. Não irá atualizar o cache (mas isto poderá ser alterado em versões posteriores).

### Significado dos ícones sobrepostos

Os itens podem ser marcados com ícones sobrepostos quando não estiverem em um estado normal.

Bloqueado

- Este item está bloqueado. Na última coluna aparece o dono do bloqueio. Você também pode configurar se o &kdesvn; deverá procurar itens bloqueados no repositório. Porém, tenha cuidado: dependendo do tipo de servidor, isso poderá levar bastante tempo!

Precisa de bloqueio

- Este item deve ser bloqueado antes de editar e enviar. Até que não defina um bloqueio, o Subversion mantém o item apenas para leitura.

Atualizações

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

Modificado

- Este item ou - no caso de uma pasta - um subitem dele foi alterado no disco local

sobreposição adicionada

- Este item está adicionado localmente no Subversion, mas ainda não foi enviado.

sobreposição excluída

- Este item está excluído localmente mo Subversion, mas ainda não foi enviado.

sobreposição excluída

- Este item (ou item abaixo se for uma pasta) tem conflitos a serem solucionados com a última atualização.

### O &kdesvn; e as senhas

O &kdesvn;/Subversion é capaz de salvar senhas. O armazenamento de senhas é sempre um risco de segurança, mas torna uma interface gráfica mais fácil de usar.

#### Não salvar senhas

É a forma mais segura, mas às vezes é difícil de trabalhar com interfaces como a do &kdesvn;. Em particular, os processos em segundo plano do &kdesvn; iriam sempre solicitar uma senha, no caso de o repositório ter acesso restrito para operações de leitura, como atualização e a leitura do status. O mesmo aconteceria no envio e assim por diante. Por isso, se você não salvar as senhas, deverá desativar a opção Iniciar a procura de atualizações na cópia de trabalho aberta, entre outras.

#### Armazenamento de senhas no &kwallet;

O armazenamento de senhas seguro, usado por vários programas do &kde;, como o &kmail; e o &konqueror;. Se estiver salvando senhas e usar principalmente o &kdesvn;, deveria usar esta opção. Lembre-se de que o armazenamento criptografado não é totalmente seguro. Para mais detalhes, consulte a documentação do &kwallet;.

#### Salvando no armazenamento de senhas próprio do Subversion

Isto não é recomendado, porque as senhas são armazenadas em texto simples! Não acredita? Olhe os arquivos em `~/.subversion/auth/svn.simple`. Você só deverá usar isso se usar com frequência outros clientes que não o &kdesvn;, como o rapidsvn, o esvn ou o cliente de linha de comando svn. Se estiver usando o cliente de linha de comando, principalmente para baixar ou fazer atualizações que não precisam de uma senha, e o &kdesvn; para enviar/mover/copiar, deveria usar o &kwallet;.

#### Cache de senha interno

Você pode ativar um cache interno de senhas que irá armazenar as senhas enquanto o &kdesvn; estiver em execução na memória. Por isso, não precisará digitar uma senha duas vezes, mesmo que não esteja salva 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, você precisa ter acesso de ssh à máquina e repositório remotos. Quando quiser armazenar algo, deverá usar a autenticação com chave pública do ssh, não a autenticação com senha (de fato, o ssh prefere a autenticação com chave pública). Para isso, você deve colocar a sua chave pública de ssh no destino, ⪚, o sistema do repositório. As senhas do SSH nunca serão tratadas pelo armazenamento de senhas do subversion, pelo &kwallet; ou pelo cache de senhas interno.

Se não quiser que a senha da sua chave de SSH seja solicitada, poderá usar o ssh-agent, selecionando a opção Subversion Adicionar identidades SSH ao ssh-agent, e poderá armazenar a senha da sua chave de SSH durante a sessão atual, de forma que não seja necessário digitá-la novamente.

## &konqueror;, KIO, &kdesvn;

### Descrição

Desde a versão 0.7.0, o &kdesvn; é disponibilizado com módulos que integram alguns comandos diretamente como menus do &konqueror;.

Protocolos do KIO

- Implementa as rotinas para os seguintes protocolos:

  - ksvn+http

  - ksvn+https

  - ksvn+file

  - ksvn+ssh

  - ksvn

  O mesmo também pode ser dito para o svn+..., mas a partir do &kde; 3.4, o kdesdk tem o seu próprio KIO SVN chamado svn+http &etc; Sendo assim, os pacotes estão organizados dessa forma - ou o svn+... deveria vir como um pacote extra para instalação, caso o kdesdk não o tenha instalado.

  Estes protocolos foram projetados apenas para repositórios, não para cópias de trabalho. Por exemplo, o `ksvn+file:///`caminho`` deverá apontar para o início de um repositório diferente do aplicativo em si ou do KPart. As cópias de trabalho poderão exploradas com o &konqueror;.

  Para escolher uma revisão específica, você pode adicionar a pesquisa ?rev=`revisão` à &URL;.

Menus de contexto

- O &kdesvn; instala menus de contexto para o &konqueror;. Eles poderão ser vistos com o botão direito na janela do navegador (apenas no modo normal, não em nenhum KPart), sendo possível efetuar as ações mais frequentes diretamente do &konqueror; (ou em outros gerenciadores de arquivos que reconhecem os menus de contexto do &konqueror;, como o &dolphin;). Isso é feito através de uma chamada à variante para a linha de comando do &kdesvn;.

#### Uso do KIO fora do &konqueror; - um exemplo

Todos os aplicativos baseados no &kde; podem usar esses protocolos. Assim, seria possível obter todas as diferenças entre duas revisões com o &kdiff3; sem nenhum conhecimento profundo.

##### Obtendo as diferenças entre as revisõ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; mostrar todas as diferenças entre duas revisões.

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

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

Você pode ignorar isto se não estiver interessado em programação com o KIO.

O KIO::ksvn::special reconhece as operações a seguir, que são feitas de forma quase igual à existente no KIO do kdesdk. Assim, por exemplo, o KDevelop pode usá-lo se o kdesdk não estiver instalado, mas usa o &kdesvn;::KIO::svn.

#### Lista de comandos

#### Visão geral dos comandos do `KIO::ksvn::special`

Nome do comando | ID numérico | Lista de parâmetros | Implementado na versão atual?
Checkout | 1 | KURL repositório, KURL destino, int numRevisao, QString tipoRevisao O destino NÃO será modificado, mas o conteúdo será baixado sem criar uma subpasta! Por exemplo, a origem poderá estar em http://servidor/repos/projeto/trunk, o destino em /home/usuario/projeto/ e o conteúdo de 'trunk' será copiado para /home/usuario/projeto/ e não para /home/usuario/projeto/trunk/! | Sim
Atualizar | 2 | KURL url, int numRevisao, QString stringRevisao Se o numRevisao < 0, é processada a stringRevisao. O formato da stringRevisao está descrito no Apêndice. | Sim
Enviar | 3 | KURL::List urls O parâmetro 'urls' é uma lista com as URLs locais a enviar. Irá solicitar a mensagem de registro. | Sim
Log | 4 | int numRevisaoInicial, QString stringRevisaoInicial, int numRevisaoFinal, QString stringRevisaoFinal, KURL::List Use isto com cuidado - poderá produzir uma grande quantidade de dados. | Sim
Importar | 5 | KURL repositorioDestino, KURL caminhoOrigem | 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 confirmações (a chamada do aplicativo deve ser feita por ele mesmo) | 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 - verifica se é recursiva ou não. | Sim
CriarPasta | 10 | KURL::List | Sim
Resolver | 11 | KURL, bool recursivo | Sim
Switch | 12 | KURL caminho_copia_trabalho, KURL url_novo_repositorio, bool recursivo, int numeroRevisao, QString tipoRevisao | Sim
Diff | 13 | URL uri1, KURL uri2, int r1, QString rstring1, int r2, QString rstring 2, bool recursivo Para as diferenças entre repositórios 'file:///' e cópias de trabalho, configure as URLs da cópia de trabalho sem um protocolo! | Sim

#### Valores devolvidos

Os valores devolvidos podem ser obtidos através de metadados. Consulte a documentação da API para obter mais detalhes.

#### Conteúdo dos metadados

Chave | Valor possível
caminho | Caminho do item sobre o qual foi feita a ação, ⪚, a URL indicada
ação | Tipo de ação numérico
tipo | tipo de item (se é pasta ou arquivo)
mime_t | Tipo MIME do item no Subversion
conteúdo | Estado do conteúdo (valor do Subversion)
prop | Estado das propriedades (valor do Subversion)
rev | A revisão resultante ou a revisão trabalhada
texto | Uma mensagem interna e legível.
loggedaction | A string da ação definida pelo Subversion sobre o item (A,M,D)
loggedcopyfrompath | Foi copiado a partir de qual caminho? (pode ficar em branco)
loggedcopyfromrevision | Foi copiado a partir de qual revisão? (pode < 0)
loggedpath | Em qual local individual a ação registrada foi definida (o caminho está definido com a URL de chamada)
diffresult | uma linha de resultado das diferenças

## Usando o &kdesvn; pela linha de comando

### Resumo

Algumas operações do subversion podem ser usadas através da linha de comando, ⪚, como um cliente normal de linha de comando, mas a interação com o usuário é feita através da interface gráfica do &kde;. A sintaxe padrão é `kdesvn exec `comando` `parâmetro` `URL``.

Se quiser uma determinada revisão ou &URL;, poderá ser definido como parâmetro da &URL;

    svn://seu-servidor/caminho-do-repositorio/item?rev=<sua-revisão>

. Isto irá sobrescrever o valor da opção `-r <revisão>`.

Uma revisã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

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

### Comandos do Subversion

Comando | Significado | Opções aceitas
commit (ou ci) | envia as modificações do item para o repositório |
log | Mostra o histórico do item | -r rev-inicial:rev-final -l limitar_exibição
cat | Apresenta o conteúdo do item | -r revisão
copy (ou cp) | Copia o item dentro da cópia de trabalho ou repositório. Se o destino não for indicado, o &kdesvn; irá solicitá-lo. |
move (ou mv, rename) | Move/renomeia o item dentro da cópia de trabalho ou repositório. Se o destino não for indicado, o &kdesvn; irá solicitá-lo. |
get | Obtém o conteúdo do item e salva-o | -r revisão -o <arquivo-saída> (este parâmetro é obrigatório!)
blame (ou annotate) | arquivo anotado | -r rev-inicial:rev-final
update | Atualiza o item na cópia de trabalho | -r revisão
diff | Mostra as diferenças entre duas versões do item ou entre dois itens em uma revisão específica | -r rev-inicial:rev-final
info | Informações detalhadas sobre o item | -r revisão
checkout (ou co) | Baixa o conteúdo do 'caminho-repositório' para uma nova cópia de trabalho. O caminho de destino e revisão de origem podem ser perguntados. |
checkoutto (ou coto) | Baixa o conteúdo do 'caminho-repositório' para uma nova cópia de trabalho. Será perguntado pela diferença do caminho de origem e a revisão de origem. |
export | Exporta o repositório ou a cópia de trabalho para um determinado diretório. Serão solicitados o caminho de destino e a revisão de origem. |
exportto | Exporta o repositório ou a cópia de trabalho para um determinado diretório. Serão solicitados o caminho de origem e a revisão de origem. |
delete (del, remove, rm) | exclui a(s) URL(s) indicadas a partir do repositório ou cópia de trabalho. |
add | adiciona a &URL; à cópia de trabalho. A &URL; deverá pertencer a uma cópia de trabalho (não é uma importação!) |
revert (ou undo) | desfaz as alterações efetuadas na cópia de trabalho. Pode ser usado apenas em URLs da cópia de trabalho! |
checknew (ou addnew) | procura na &URL; indicada, por itens novos ou não-adicionados, e os adiciona à cópia de trabalho se desejar. |
tree | mostra uma árvore de revisões do item (só o primeiro argumento), se for indicada uma &URL; com ?rev=`xxx`, esta revisão será a de referência. | -r rev-inicial:rev-final
lock | bloqueia a(s) URL(s), se for indicado `-f`, então serão liberados os bloqueios existentes. | -f
unlock | desbloqueia a(s) URL(s), se for indicado `-f`, então serão libertados os bloqueios forem do usuário e os bloqueios inexistentes serão ignorados. | -f
help | mostra esta página |

### Parâmetro dos comandos do subversion

Parâmetro | Valores possíveis | permitido para
`-r` | `revisão` ou `rev-inicial:rev-final` | todos exceto o 'commit'
`-R` | (nenhum) | todos exceto o 'commit'
`-o` | `nome do arquivo` | get
`-l` | `número` | log
`-f` | (nenhum) | (un-)lock

#### O comando log

Este comando mostra uma janela que contém os registros da &URL; indicada. Com o Subversion 1.2 ou posterior, poderá aceitar um limite, &ie;, quantos itens terá para apresentar.

Dentro desta janela você pode selecionar os itens do registro e obter as diferenças entre eles.

##### Mostrar os últimos 20 registros de envio

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

Cuidado com a ordem das revisões: Se desejar ir de HEAD para START, deve indicar a versão HEAD como ponto inicial, caso contrário, irá obter os primeiros 20 registros.

#### O comando diff

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

##### Mostra as diferenças em relação ao repositório, &ie;, alterações locais

    kdesvn exec diff meu-arquivo.c

##### Mostra as diferenças entre as revisões

    kdesvn exec diff -r 21:20 meu-arquivo.c

Ao determinar as diferenças entre dois itens, poderá indicar as revisões dos itens às suas &URL;s, ⪚:

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

##### Diferenças entre duas revisõ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

## Configurações

As configurações podem ser alteradas na janela de configuração. Elas estão separadas em algumas subjanelas.

### Geral

Tamanho dos ícones da lista | Quão grandes deverão ficar os ícones na lista principal
Mostrar informações sobre o arquivo | Se uma pequena dica deverá aparecer quando passar o ponteiro do mouse sobre um item
Marcar o status do item com um ícone sobreposto | Quando um item não estiver em um estado normal do subversion, poderá ter uma sobreposição. (Consulte overlay-meaning)
Ordenação de itens com diferença entre maiúsculas/minúsculas | Se o critério de ordenação na janela principal deve fazer distinção entre maiúsculas e minúsculas, &ie;, se a é ou não igual a A.
Exibir os arquivos ignorados | Mostrar os itens marcados no subversion para serem ignorados ou não.
Número máximo de mensagens de registro no histórico | Quantas mensagens de registro o &kdesvn; deverá lembrar.

### Configurações do Subversion

Iniciar a procura por atualizações ao abrir uma cópia de trabalho | Quando abre uma cópia trabalho, inicia uma verificação por atualizações em segundo plano
Iniciar o preenchimento da cache ao abrir | Se estiver ativo, o &kdesvn; começa a preencher o cache do registro ao abrir um repositório ou cópia de trabalho, caso a &URL; do repositório não estiver atribuída como local (`file://`)
Verificar se os itens têm o svn:needs-lock ativo | Verifica nas cópias de trabalho se um item possui esta propriedade definida e, caso afirmativo, mostra um ícone sobreposto especial. Se ativar esta opção, tornará as listagens realmente lentas.
Obter os detalhes dos arquivos nas listagens remotas | Quando a opção estiver assinalada, o &kdesvn; irá obter informações mais detalhadas sobre os itens de arquivos ao criar uma listagem de repositórios remotos. Por isso, você poderá ver os bloqueios remotos na visão geral. Tenha cuidado: Isto poderá deixar as listagens MUITO lentas.
Ler de forma recursiva as informações dos arquivos | Se estiver ativo, a informação das pastas irá obter informações sobre todos os itens abaixo, mas poderá ficar muito lento.
Armazenar as senhas das conexões remotas | O armazenamento de senhas é normalmente um problema de segurança. O Subversion armazena as suas senhas em um arquivo simples, &ie;, senhas em texto simples! Por isso, seja cauteloso ao ativar esta opção e também leia o próximo item. Este item apenas explica que a gravação das senhas está ativa por padrão, e você poderá alterar para domínios específicos na janela de autenticação.
Armazenar as senhas na carteira do KDE | Ao gravar as senhas, o arquivo de texto simples do subversion torna-se uma falha de segurança. O &kdesvn; é capaz de salvá-las na carteira criptografada do &kde; (desde a versão 0.12.0) e também usá-las. Por outro lado, os outros clientes de subversion conseguem ler essas senhas, sendo necessário inseri-las com o uso de algumas ferramentas como o svn pela linha de comandos ou também o rapidsvn. Como o subversion não criptografa as senhas, você deve pensar duas vezes sobre o assunto.
Usar cache de senha interno | Quando uma senha não está armazenada de forma persistente, o &kdesvn; poderá guardá-la até que o &kdesvn; termine, para que não tenha inseri-la novamente em cada operação. Esse cache nunca é persistente, &ie;, não será salva em nenhum lugar.
O registro segue as mudanças de nós | Se estiver assinalado, o registro segue as operações de cópia.
O registro sempre lê a lista de arquivos alterados | O comando de registro do histórico pode ler uma lista dos arquivos alterados no commit. Isso é útil e, na maioria dos casos, não irá gerar mais tráfego de rede.
Revisar os itens antes do envio | Ao efetuar um commit, o &kdesvn; poderá verificar o que fazer. Por exemplo, se tiver itens sem-versão que possam ser adicionados, os itens da lista mudam e a operação atual irá enviar essas modificações. Isso irá custar, dependendo da estrutura, mais ou menos tempo.

### Diferenças e Mesclagem

As diferenças ignoram o tipo de conteúdo

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

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

- Quando estiver assinalado, as diferenças analisadas dentro da árvore de revisõ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 atual. Como isso é feito depende de como as diferenças são geradas (pelo subversion em si ou pelos visualizadores externos).

As diferenças ignoram as alterações 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

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

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

Seleciona um aplicativo externo para mostrar as diferenças. Por padrão é usado o &kompare;.

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

Define o programa 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 colocada diretamente como dados de entrada do programa externo (&ie;, sem necessidade de arquivos temporários)

<programa> <parâmetro> %f

- A diferença será gerada com o subversion, salva em um arquivo temporário e o parâmetro `%f` será substituído por esse nome de arquivo. Isso poderá ser usado, por exemplo, com uma simples chamada ao less ou outro visualizador de texto.

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

- O &kdesvn; permite que o programa externo crie as diferenças. O %1 e o %2 serão substituídos pelos valores necessários (nomes dos arquivos ou pastas). O &kdesvn; armazena o conteúdo a comparar em um ambiente temporário (quando são pastas, efetua uma exportação, quando é um único arquivo, efetua uma leitura), se necessário, e limpa esse ambiente após fechar o programa externo ou a si próprio.

Preferir um programa de mesclagem externo

- Selecione se na janela de mesclagem a opção Usar mesclagem externa deverá estar assinalada ou não por padrão.

#### Programa de mesclagem externo

Configura o programa e as opções para usar quando a mesclagem de revisões incorporada do subversion não é desejada. Por padrão, o valor é `kdiff3 %s1 %s2 %t`. A ordem das variáveis de substituição não é importante e poderão aparecer mais de uma vez, como ⪚, `kdiff3 -o %t %s1 %s2 %t`. Esta funcionalidade só foi testada com o meld e o &kdiff3;. Considere que esses programas externos normalmente não conhecem alguns dos parâmetros para `ignorar` do subversion, e poderão mostrar mais do que o esperado.

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

%s1

- Substituído pela origem número um.

%s2

- Substituído pela origem número dois. Se estiver em branco ou se for igual à origem número um, do mesmo modo que a revisã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

Você pode usar um programa externo, como o &kdiff3;, para resolver conflitos, sendo que, por padrão, o valor é `kdiff3 %o %m %n -o %t`.

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

Após cada descrição, entre parênteses, é mostrado um exemplo de como o subversion iria chamar os arquivos. O significado destas opções está desenhado para o &kdiff3;, porque neste momento é o único aplicativo que tem suporte a 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 da revisão menor, &ie;, o ponto inicial das modificações em conflito. (`foo.cc.r2`)

%m ou %w

- Sua versão (de trabalho) do arquivo, &ie;, o que você alterou em relação à versão antiga. (`foo.cc.mine`)

%n ou %r

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

%t

- O nome do destino, ⪚, o nome original. Para o &kdiff3; (por exemplo), seria o nome após o parâmetro `-o` (= arquivo de saída). (`foo.cc`)

### KIO/linha de comando

Mostrar o registro após executar um comando

- Se deverá abrir uma janela com o registro do último comando do subversion, quando executado pela linha de comando ou pelo menu de ação do &konqueror;.

Mínimo de linhas de registro para mostrar

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

Não mostrar o menu de contexto no &konqueror;

- Se estiver assinalado, não será criado nenhum item de menu de ação para o &kdesvn; no &konqueror;.

As operações do KIO usam a mensagem de registro padrão

- Ao efetuar operações sobre um repositório através do protocolo KIO do &kdesvn; dentro do &konqueror; (&ie;, protocolos ksvn+...) em operações extensas, como a cópia ou mudança de local de pastas, o &kdesvn; iria solicitar uma mensagem de registro para cada item. Este é um comportamento do &konqueror;. Quando esta opção estiver assinalada, a implementação do KIO a partir do &kdesvn; não irá solicitar nenhuma mensagem de registro, mas irá usar uma mensagem padrão de registro. Estas opções não afetam as operações do menu de ação do &kdesvn; para o &konqueror;, mas apenas as cópias/movimentações/criações de pastas/exclusões feitas com o &konqueror; ou com outros gerenciadores de arquivos em uma URL do KIO.

Mensagem padrão

- A mensagem que o KIO do &kdesvn; deve atribuir às operações efetuadas dentro do &konqueror;, quando a opção acima estiver assinalada. Por padrão, é usada a opção Revisão feita com o KIO do &kdesvn;.

## Referência de comandos

### Janela principal do &kdesvn;

#### Menu Arquivo

&Ctrl;O Arquivo Abrir

- Abre uma cópia de trabalho local ou um repositório previamente baixado

&Ctrl;W Arquivo Fechar

- Fecha o repositório ou cópia de trabalho aberto

&Ctrl;Q Arquivo Sair

- Sai do &kdesvn;

#### Menu Favorito

Leia a Ajuda do &konqueror;.

#### Menu Subversion

F5 Subversion Exibir Atualizar a visualização

- Atualiza o status atual de todos os itens apresentados. Isto irá apresentar todos os itens com o status atual.

##### Ações gerais do subversion

&Ctrl;L Subversion Geral Histórico do item

- Mostra o registro histórico completo do item que estiver selecionado. Tenha cuidado, esta lista poderá ficar realmente grande!

&Ctrl; &Shift;L Subversion Geral Histórico do item sem cópias...

- Mostra o registro histórico do item selecionado sem as seguintes cópias.

&Ctrl;I Subversion Geral Detalhes

- Mostra informações detalhadas sobre o(s) item(ns) selecionado(s)

Subversion Geral Culpar

- Cria uma lista anotada de todas as modificações efetuadas. Isto poderá demorar algum tempo!

Subversion Geral Intervalo da anotação

- Mostra as anotações de um determinado conjunto de commits de um arquivo.

Subversion Geral Mostrar a última versão

- Mostra o conteúdo da última versão enviada desse item. (Pode ser diferente da versão da cópia de trabalho se estiver trabalhando sobre uma!)

F2 Subversion Geral Mover

- Move ou renomeia um item dentro de uma cópia de trabalho ou no repositório

&Ctrl;C Subversion Geral Copiar

- Copia o item dentro de uma cópia de trabalho ou no repositório

Del Subversion Geral Excluir os arquivos/diretórios selecionados

- Exclui os itens selecionados. Se estiver trabalhando dentro de uma cópia de trabalho, deverá enviar suas exclusões posteriormente.

Subversion Geral Nova pasta

- Cria uma nova pasta.

Subversion Geral Importar pastas para a atual

- Seleciona as pastas que deseja importar para a pasta que estiver selecionada

Subversion Geral Baixar um repositório

- Cria uma nova cópia de trabalho de um repositório

Subversion Geral Exportar um repositório

- Exporta um repositório para o sistema de arquivos, &ie;, cria uma árvore de versões limpa e sem qualquer informação do subversion.

Subversion Geral Travar os itens atuais

- Marca os itens atuais como bloqueados. Leia o manual do subversion antes de usar isto!

Subversion Geral Destravar os itens atuais

- Remove as marcações de bloqueio dos itens atuais. Leia o manual do subversion antes de usar isto!

##### Cópia de trabalho

Subversion Cópia de trabalho Atualizar para a última revisão

- Atualiza a cópia de trabalho para a última versão do repositório (HEAD)

Subversion Cópia de trabalho Atualizar para a revisão...

- Atualiza a cópia de trabalho para uma determinada revisão do repositório

&Ctrl;# Subversion Cópia de trabalho Enviar

- Envia as modificações dos itens selecionados na cópia de trabalho para o repositório.

&Ctrl;D Subversion Cópia de trabalho Diferenças das alterações locais

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

&Ctrl;H Subversion Cópia de trabalho Diferenças para o HEAD

- Mostra as diferenças da cópia de trabalho atual para a última versão no repositório.

&Ctrl;P Subversion Cópia de trabalho Propriedades

- Exibir/editar as propriedades atribuídas ao item atual.

Insert Subversion Cópia de trabalho Adicionar os arquivos/diretórios selecionados

- Adiciona os arquivo e/ou pastas selecionados ao controle de versão.

Subversion Cópia de trabalho Reverter as alterações atuais

- Reverte as últimas alterações efetuadas na cópia de trabalho e atualiza para o último estado de atualização.

Subversion Cópia de trabalho Marcar como resolvido

- Marca os itens em conflito como resolvidos e remove os arquivos associados.

Subversion Cópia de trabalho Mesclar duas revisões

- Mescla duas revisões dos itens na cópia de trabalho.

Subversion Cópia de trabalho Ignorar/Não ignorar o item atual

- Edita a propriedade da pasta-mãe em relação ao item que estiver selecionado, de modo que este item seja ignorado pelo controle de versões, caso contrário, remove-o da lista de itens a ignorar.

Subversion Cópia de trabalho Limpeza

- Limpa a cópia de trabalho e remove os envios bloqueados, se existirem

Subversion Cópia de trabalho Alternar o repositório

- Muda a raiz da cópia de trabalho atual.

##### Repositório

Subversion Repositório Baixar o caminho do repositório atual

- Cria uma cópia de trabalho a partir do item que estiver selecionado, se for um diretório.

Subversion Repositório Exportar o caminho do repositório atual

- Cria uma cópia limpa no sistema de arquivos local do item que estiver selecionado, se for um diretório.

#### O menu Ajuda

&help.menu.documentation;

#### Barra de ferramentas Subversion

Abrir

- Abre uma cópia de trabalho local

## Perguntas e respostas

Ao usar o protocolo (k)svn+ssh, ele sempre solicita a senha novamente. Por que?

O problema é o próprio ssh. O subversion cria para cada comando um túnel para o repositório. Cada um desses túneis é uma nova conexão ssh. Do mesmo modo, cada conexão ssh deve ser autenticada. Isto pode ser resolvido se você armazenar a sua identidade pública local na máquina que contém o repositório. Se a sua identidade pública tiver uma senha, o ssh-agent será consultado (se estiver instalado).

Quando estiver executando um ssh-agent antes de iniciar o &kdesvn;, você deve adicionar a sua identidade ao cache do programa. O &kdesvn; não irá modificar por razões de segurança e sempre solicitará a sua senha novamente. (Leia a Página de Manual do ssh-add)

A solicitação da senha para o (k)svn+ssh aparece no terminal quando o &kdesvn; é iniciado a partir dele. Como desativo isso?

Não pode ser desativado, pois é uma característica do próprio ssh-agent. Quando vê que tem um terminal, ele solicita a senha no terminal e não em uma janela do X como o kdesvnaskpass. (Leia a Página de Manual do ssh-add).

Como posso indicar uma porta ou usuário diferente no protocolo svn+ssh?

Você pode usar um item no `$HOME/.ssh/config`. Consulte a sintaxe exata na Página de Manual de Configuração do SSH.

Ao verificar a existência de atualizações, o &kdesvn; não mostra nada, mas eu sei que existem itens mais recentes!

As atualizações só poderão ser apresentadas se a versão do subversion do servidor remoto também for 1.2. Por exemplo, parece que o repositório funciona com o subversion <1.2. Não há planos para que o &kdesvn; faça ele mesmo essa verificação recursiva - isso não faz sentido. Peça para atualizar o repositório para uma versão mais recente do subversion.

Ao iniciar o &kdesvn;, ele apresenta uma caixa de diálogo Não foi possível encontrar o nosso componente e mostra uma janela vazia. Por que?

Existem muitas razões para explicar porque o programa não conseguiu carregar. Isto normalmente acontece quando você mesmo compila as bibliotecas do subversion. Nesse caso, você pode querer ler este relatório de erro.

Outra coisa relevante pode ser o esquecimento da indicação da variável libsuffix em sistemas de 64 bits durante a compilação. Como tal, o componente será instalado em `$PREFIX/lib` em vez de `$PREFIX/lib64`. Por isso, indique `-DLIB_SUFFIX=64` como parâmetro do `cmake`.

Se não resolver o seu problema, você poderá tentar isto no terminal:

    export LD_PRELOAD=/usr/lib/kde4/libkdesvnpart.so
      kdesvn
      unset LD_PRELOAD

(O local do `/usr/lib/kde4` depende obviamente do seu sistema. Verifique onde está instalado)

Você deve ver um grande conjunto de mensagens com o motivo do porque o carregamento da `libkdesvnpart.so` não é possível. Isso pode ajudá-lo a resolver seu problema.

## Sintaxe das revisões

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

Número

- Um número maior ou igual a -1. -1 significa revisão não definida, enquanto 0 é a versão inicial. Normalmente esses números não deveriam ser usados (a maioria das operações falhará com eles).

Palavra chave

- Um de

  - HEAD

  - BASE

  - COMMITED

  - PREV

  - START

  - TRABALHO

  As palavras-chave distinguem as maiúsculas de 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 - ⪚, 2005-1-1 deverá ser escrito como {2005-01-01}.

A adição de uma revisão específica para uma &URL; será sempre feita através de ?rev=`revisão`.

## Mais informações

### Comunicando erros, sugestões e críticas

Os relatórios de erro e solicitação de novas funcionalidades poderão ser criados em &kde; Bugtracking System (Sistema de Gerenciamento de Erros do &kde;).

### Créditos, licença e agradecimentos

Direitos autorais do programa 2005-2006 &Rajko.Albrecht; &Rajko.Albrecht.mail;

Muito obrigado aos contribuidores:

- Andreas Richter ar@oszine.de - pelo porte ao Qt4 do svnqt

- Michael Biebl biebl@teco.edu - pela ajuda, várias ideias, implementações e dicas.

- Bram Schoenmakers bramschoenmakers@kde.nl - pelas dicas específicas do &kde;, tradução ao holandês e limpeza do meu código.

E obrigado para todos os outros tradutores (nunca imaginei ter tantas traduções em tão pouco tempo!) e por todos os comentários positivos e negativos. Isto ajudou muito.

Se quiser enviar a sua própria tradução para o &kdesvn; e precisar de ajuda, leia a página de Localização do &kde; ou pergunte na lista de discussão kde-i18n-doc@kde.org.

Direitos autorais da documentação 2005-2006 &Rajko.Albrecht; &Rajko.Albrecht.mail;

Tradução de André Marcelo Alvarenga alvarenga@kde.org

&underFDL; &underGPL;

## Instalação

### Como obter o &kdesvn;

O &kdesvn; propriamente dito poderá ser encontrado na área de downloads do &kdesvn;.

Você poderá obter a última versão no repositório para saber o que está acontecendo.

A página Web deste projeto encontra-se aqui

### Requisitos

Você precisa ter instalado o Subversion 1.5 ou posterior e no mínimo o &kde;. NÃO há suporte para o Subversion anterior ao 1.5!

O Subversion pode ser encontrado na sua página Web, mas a sua distribuição já deve ter os pacotes para o seu sistema.

Você pode encontrar uma lista de alterações nesta página.

### Compilação e instalação

O &kdesvn; precisa de pelo menos o cmake 2.8 para compilar (não há suporte para o automake). As seguintes etapas funcionam com os pacotes da distribuição ou do repositório. Descompacte o pacote ou faça um clone do repositório e mude para a pasta de origem resultante.

    % mkdir build
    % cd build
    % cmake ../ -DCMAKE_INSTALL_PREFIX=`kde-config --prefix` -DCMAKE_BUILD_TYPE=Release
    % make
    % make install

&documentation.index;