Como sincronizar repositórios do Subversion

Escrito por kevin walker | Traduzido por josé fabián
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como sincronizar repositórios do Subversion
Subversion é um aplicativo para programadores que permite sincronizar códigos (Stockbyte/Stockbyte/Getty Images)

Os usuários do Subversion podem sentir a necessidade de criar múltiplos espelhos (mirrors) de um repositório mestre para permitir que membros de diferentes localizações geográficas acessam cópias do código rapidamente. Sincronizar os repositórios desta forma também os protege em caso de uma falha técnica em um servidor. Para facilitar a sincronização, o Subversion fornece a ferramenta "svnsync".

Nível de dificuldade:
Moderadamente fácil

Outras pessoas estão lendo

Instruções

  1. 1

    Abra um terminal.

  2. 2

    Crie um novo repositório do Subversion digitando

    mkdir repository_mirror svnadmin create repository_mirror cd repository_mirror

    Isso armazenará a cópia do seu repositório do Subversion.

  3. 3

    Digite o seguinte para editar o arquivo de configuração svnserve.conf:

    nano conf/svnserve.conf

    Remova o "#" da linha que diz:

    password-db = passwd

    Feche o nano.

  4. 4

    Digite o seguinte para editar o arquivo "passwd":

    nano conf/passwd

    Cole o seguinte texto embaixo da linha "[users]":

    svnsync = secret

    Altere "secret" pela senha que você quiser que o "svnsync" use para sincronizar os respositórios. Salve as alterações e feche o nano.

  5. 5

    Digite o seguinte para editar um novo documento que contenha um script requerido pelo programa "svnsync":

    nano hooks/pre-revprop-change

    Cole dentro dele o seguinte:

    !/bin/sh

    USER="$3"

    if [ "$USER" = "svnsync" ]; then exit 0; fi

    echo "Apenas o usuario svnsync pode alterar as revprops" >&2 exit 1

    Salve as alterações, feche o nano e digite o seguinte para fazer com que o arquivo se torne um script executável:

    chmod +x hooks/pre-revprop-change

  6. 6

    Inicialize a sincronização digitando o seguinte comando:

    svnsync init file:///DIRECTORY/respository_mirror svn://SOURCE.COM/source_repos

    Substitua "DIRECTORY" pelo diretório onde você criou o espelho do repositório e "SOURCE.COM/source_repos" pelo nome do servidor e o do repositório para o seu espelho.

  7. 7

    Inicie o processo de sincronização:

    svnsync sync --username svnsync file:///DIRECTORY/respository_mirror

    Mais uma vez, substitua o nome e caminho do arquivo pelos usados pelo espelho no seu sistema.

Dicas & Advertências

  • Adicione a seguinte linha ao seu arquivo "/etc/crontab" para agendar uma atualização do seu espelho a cada minuto:
  • * * * * * /usr/local/bin/svnsync --non-interactive sync file:///DIRECTORY/respository_mirror
  • Os usuários nunca devem enviar as alterações ao próprio repositório espelho. Todas elas devem ser enviadas ao repositório de origem para propagar-se aos espelhos usando a ferramenta "svnsync".

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível