Confirmação e sincronização bidirecional do Subversion

2

Eu tenho uma subversão 1.6, tem um repositório repo e espelhado. O repositório espelhado é lido apenas de curso. existe uma maneira de cometer e sincronizar entre essas repos em ambas as direções?

    
por sp123 23.01.2013 / 12:06

3 respostas

2

Você analisou o link ? Eles fazem uma linha completa de produtos relacionados ao SVN multi-site, mas custam. Nunca tentei eles, eu mesmo, mas foi aí que acabei quando procurei pela última vez.

Você vai entrar em um monte de problemas tentando fazê-lo manualmente, mas o mais próximo que eu cheguei foi:

  1. Mantenha uma lista de repositórios SVN 'parceiros' em cada site
  2. Adicione os ganchos de pré-consolidação aos dois repositórios para 'bloquear' os outros repositórios na lista de parceiros:
    1. verifique a existência de um arquivo de semáforo, pagando se ele existir
    2. crie o arquivo de semáforo em cada servidor parceiro
  3. Adicione ganchos de pós-consolidação a ambos os repos:
    1. confira a revisão mais recente em uma cópia de trabalho de pasta temporária
    2. svn switch --relocate da cópia de trabalho para cada parceiro
    3. confirmar no repo reposicionado
    4. remova o arquivo de semáforo
  4. Verifique periodicamente cada repo usando md5sum em relação a svnadmin dump
    1. Escolha um para destruir os outros, no caso de uma incompatibilidade de soma de verificação
    2. Faça backups copiosos de todos os parceiros, no caso de alguém reclamar do problema e precisar de uma revisão de volta

Vou poupar o esforço - não funcionou muito bem. Uma égua absoluta para configurar e repleta de condições de corrida (você simplesmente não consegue sincronizar o arquivo de semáforo com rapidez suficiente).

    
por 23.01.2013 / 14:02
3

Resposta curta: Não

Resposta mais longa: você pode usar o caminho "svnadmin dump-transferir dump-delete repo -recriar o repo-svnadmin load", mas é um pesadelo

PS: DVCS parece uma solução mais natural no seu caso

    
por 23.01.2013 / 12:24
2

Resposta curta: sim .

Você pode usar o recurso Replicação de Repositório Multisite do VisualSVN Server , que permite a replicação de dados bidirecionais entre vários repositórios. O recurso é baseado na tecnologia do Sistema de Arquivos Distribuídos VisualSVN, que permite que seus repositórios de escravo sejam graváveis .

    
por 24.10.2014 / 13:57