SVN sobre SSH

Para correr o Subversion sobre SSH, basicamente você precisa de uma shell no sistema alvo e um repositório Subversion localizado lá o qual está criado seguindo a descrição em cima. O repositório tem de estar configurado para acesso pelos utilizadores de sistema do sistema remoto.

Assumindo que o seu nome de utilizador no sistema cliente é o mesmo que no lado do servidor, não há muito para configurar, apenas altere a especificação de protocolo de file:// para svn+ssh://nome_de_utilizador_remoto@nome_de_maquina_servidor em todos os exemplos mostrados neste manual.

Note que durante as acções das ferramentas do svn-buildpackage podem acontecer muitas chamadas SSH e então é pedido ao utilizador os dados do seu login. O método regular para lidar com isto é usar um método de autenticação de chave SSH junto com ssh-agent e ssh-add para colocar em cache a frase passe em memória. Outra solução, que também trás um aumento de velocidade significante, é usar uma ligação SSH em cache. Isto pode ser feito com a nova funcionalidade do OpenSSH (veja howto de cache a ligações GCC SSH) ou uma ferramenta de terceiros como o fsh.

Se você deseja usar fsh sobre ssh você pode especificar um método de transporte personalizado na configuração do subversion. Para o fazer, edite o ficheiro ~/.subversion/config e adicione a secção [tunnels] a ele, seguido da sua definição de transporte personalizada. Exemplo:

Exemplo 2.3. Exemplo de um comando de túnel ssh personalizado.

# configuração de subversion pessoal com comando de túnel ssh personalizado
[tunnels]
# conta SSH em svn.d.o
# a compressão está activa na configuração do ssh
deb = fsh -l <user>
# conta SSH para NQ intranet, define correcção do nome de utilizador
nq = ssh -C -l zomb

Você pode usar os novos túneis definidos em modos semelhantes como os descritos em cima mas substitua svn+ssh por svn+nome_do_túnel, para que o URL final fique como:

svn+deb://svn.debian.org/svn/meuprojecto/nossopacote/trunk