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

Foi útil?

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.

svn documentação do comutador

À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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top