Migrando problemas de repositórios SVN + SVN não pode criar diretório

1

Eu tive que reformatar meu PC a partir do zero. Eu restaurei meus dados de backup, incluindo um diretório contendo repositórios SVN e um diretório contendo check-outs desses repositórios. Esses check-outs contêm trabalhos que ainda não foram verificados.

Quando tento fazer o check-in, o SVN envia mensagens de erro. Eu poderia traçar isso para o fato de que eu mudei a localização desses diretórios de:

C:/Users/J%C3%A9r%C3%B4me/Documents/Java/Repositories/...
C:/Users/J%C3%A9r%C3%B4me/Documents/Java/CheckOut/...

para:

C:/Users/JVerstry/Documents/Java/Repositories/...
C:/Users/JVerstry/Documents/Java/CheckOut/...

Sim, escolho um nome de conta de usuário diferente ao reinstalar minha máquina. E sim, o svn não consegue se recuperar.

Como posso resolver este problema? Verifiquei o conteúdo de arquivos localizados em .svn repositórios ocultos e parece que eles contêm linhas como:

file:///C:/Users/J%C3%A9r%C3%B4me/Documents/Java/Repositories/...

Pensei que poderia usar uma ferramenta para verificar esses arquivos e substituir J%C3%A9r%C3%B4me por JVerstry . Essa ferramenta está disponível para o Windows 7? E isso é uma boa ideia?

EDITAR

Acontece que meus problemas são mais profundos do que os descritos acima. Alguns dos meus diretórios .svn parecem corrompidos + alguns diretórios parecem estar bloqueados e não podem ser desbloqueados (SVN copia mensagens de erro ...) + alguns diretórios estão faltando no diretório /db de todos os repositórios.

    
por Jérôme Verstrynge 17.06.2011 / 16:52

2 respostas

1

Eu tentei a idéia de modificar J%C3%A9r%C3%B4me para JVerstry , mas não funcionou. No entanto, encontrei uma solução para todos os meus problemas.

Para cada repositório:

  1. Eu check-out o conteúdo do repositório em um diretório /NewCheckOut .
  2. Eu criei um patch do meu diretório /CheckOut existente para capturar todas as modificações feitas nos arquivos existentes, mas não os arquivos adicionados desde o último check-out.
  3. Eu apliquei o patch ao meu diretório /NewCheckOut . Eu tive que fazer uma intervenção manual para resolver algum problema de incompatibilidade.
  4. Ao tentar fazer check-in em /NewCheckOut , enfrento o problema mencionado aqui . Eu criei os diretórios ausentes em /db . O check-in correu bem depois.
  5. Para recuperar arquivos adicionados , exportei o conteúdo do meu diretório /CheckOut existente em /ExportCheckOut . Isso elimina o corrompido /.svn .
  6. Usei o Windows Explorer para copiar todo o conteúdo de /ExportCheckOut em /NewCheckOut .
  7. Eu me certifiquei de que o código fosse compilado bem.
  8. Eu fiz check-in /NewCheckOut novamente.

Problema resolvido. Eu não sei exatamente o que causou isso ...

    
por 17.06.2011 / 18:44
1

Eu acho que você deve ser capaz de resolver isso usando svn switch para dizer ao Subversion que você está falando com o "outro" repo. --relocate pode ser necessário neste cenário, eu acho.

    
por 17.06.2011 / 16:57

Tags