svn erro interruptor - não é o mesmo repositório
-
06-09-2019 - |
Pergunta
mudei recentemente o servidor SVN e agora estou tring para mudar as cópias de trabalho do meu computador para o novo servidor. Mas eu recebo o erro estranha. i fazer:
svn switch http://99.99.99.new/svn/company/project/trunk/web
Mas eu fico
svn: 'http://99.99.99.old/svn/company/project/trunk/web'
is not the same repository as
'http://99.99.99.new/svn/company/project'
A mudança foi feita com o despejo e importação ... ea raiz repo está em http: / /99.99.99.new/svn/company/project
Vocês têm alguma idéia do que pode estar errado? thanks a lot
Solução
Tente usar
svn switch --relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
Como observado por Sporino nos comentários, uma vez que o Subversion 1.7, há um comando separado relocate
:
svn relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
Outras dicas
Além disso, em TortoiseSVN não há opção "mudar", o que você deve usar em situações como estes (em vez da opção "Switch").
Meu melhor maneira de fazer uma realocação SVN é o seguinte:
svn switch --relocate $(svn info | grep ^URL | cut -f 2 --delim=' ') \
new_url_or_repository
Desta forma, usando a url velha direita do comando svn info
, você tem certeza de não entrar em um caminho errado, que é um dos Erros comuns.
Se tudo estiver correto, você será solicitado com os detalhes de autenticação para o novo local, se eles são diferentes.
Depois de emitir o comando, certifique-se verifique que a alteração foi aplicada a olhar para o parâmetro de URL, a emissão
svn info
Depois de se mudar, atualize sua cópia de trabalho, para verificar se está tudo ok:
svn update
Meu 2c ..
Use a linha de parâmetro de comando relocate
ao comando switch
.
Às vezes, um administrador pode mudar a "localização base" do seu repositório - em outras palavras, o conteúdo do repositório não muda, mas a URL principal usado para atingir a raiz do repositório faz. Por exemplo, o nome do host pode mudar, ou o esquema URL, ou talvez apenas o caminho que leva ao repositório. Ao invés de check-out uma nova cópia de trabalho, você pode ter o comando svn switch "reescreva" os começos de todas as URLs em sua cópia de trabalho. Use o comando --relocate para fazer a substituição. Nenhum conteúdo do arquivo são alteradas, nem é o repositório contactado. É semelhante a executar um script perl sobre sua cópia de trabalho .svn / diretórios que corre s / OldRoot / NewRoot /.
Você precisa usar a opção --relocate:
svn switch --relocate http://99.99.99.new/svn/company/project/trunk/web
svnbook para mais detalhes.