Eu tenho uma pasta "docs" em um repositório do Subversion chamado "projeto". Cheguei à conclusão de que ele realmente deve ser mantido em um repositório Subversion separado chamado "project_docs".
Gostaria de mover a pasta "docs" ( e todas as suas revisões ) para o repositório "project_docs". Existe uma maneira de fazer isso?
svn
repository
directory
move
esquerda
fonte
fonte
"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin" dump c:\Repositories\MyRepository > c:\Temp\MyReository.dump
O svndumpfilter tem uma falha séria - se um arquivo ou caminho foi copiado de um caminho que você está filtrando para um que você está filtrando, o svndumpfilter não poderá preencher o histórico e o trabalho falhará.
Você pode usar svndumpfilter2 se tiver esse problema.
fonte
Isso é discutido na documentação do SVN. Confira a seção Manutenção de Repositório em
svndumpfilter
... Ele descreve especificamente como despejar projetos de um repositório central e movê-los para novos repositórios separados.fonte
Não acredito que você possa fazer isso remotamente (ou seja, sem uma cópia local). Mas isso deve funcionar:
svn export
a pasta do servidor original e depoissvn add
no seu novo repositório.Gostar:
Edit: D'oh, isso deixa cair a história. Use
svnadmin
como Samuel descreve .fonte
Para referência futura:
A documentação SVN relata claramente:
Se você planeja editar manualmente o arquivo de despejo para remover um diretório de nível superior, verifique se o editor não está configurado para converter automaticamente caracteres de fim de linha no formato nativo (por exemplo, \ r \ n para \ n), pois o conteúdo não estará de acordo com os metadados. Isso tornará o arquivo de despejo inútil.
Use sed ou Vim para substituir o diretório de nível superior, mas esse nome de diretório também estava contido em um arquivo de projeto !!!! Isso causa um erro de soma de verificação de carga SVN.
Portanto, ao executar esta operação, não faça substituições de string com sed apenas do nome do caminho.
Substitua “Node-path: old_path” por “Node-path: new_path”. Veja o capítulo 5 do livro SVN “administração de repositório” para mais detalhes.
fonte
Tentei usar a resposta aceita, mas tinha um repositório enorme e desejava exportar um diretório pequeno e não podia me dar ao luxo de despejar o repositório inteiro.
Portanto, exportei apenas as revisões em que meu diretório foi alterado (isso pode não funcionar se o diretório que você deseja exportar tiver referências a outros locais em seu repositório).
Você deve substituir o URL do repo (
URL_to_docs
/svn/old_repo
repositório (path/to/docs
) , o local no servidor ( ) e o caminho para os documentos no repositório ( )Você pode editar facilmente o seu
docs_only.dump
se quiser alterar o local do seu diretório doc em seu novo repositório.fonte