Minha estrutura atual de SVN:
Path: .
URL: svn://someaddress.com.tr/project
Repository Root: svn://someaddress.com.tr
Repository UUID: -------------------------------------
Revision: 10297
Node Kind: directory
Schedule: normal
Last Changed Author: ----
Last Changed Rev: 9812
Last Changed Date: 2010-12-20 17:38:48 +0100 (Mon, 20 Dec 2010)
Mas nosso projeto (daí o serviço SVN) funcionará em sub.someaddress.com.tr
vez de someaddress.com.tr
(someaddress.com.tr será redirecionado para outro lugar em breve).
Como é o servidor de desenvolvimento, não consegui saber ao certo o que fazer. Vou precisar usar svn switch
ou svn switch --relocate
? Além disso, vou precisar alternar svn root someaddress.com.tr ou o branch do projeto someaddress.com.tr/project ?
fonte
svn switch --relocate OLD NEW
switch
comando, toda a documentação que encontrei online é para versões mais recentes.Pesquisar o URL antes e depois pode lhe dar um pouco de paz de espírito:
E verificar a sua versão (para ser> 1.7) para garantir,
svn relocate
é a coisa certa a usar:Por último, acrescentando ao anterior, se a mudança do URL do seu repositório também envolve uma mudança de protocolo, você pode precisar indicar o url antes e depois ( veja também aqui )
Tudo em uma única linha, é claro. A partir de então, tenha a boa sensação de que tudo correu bem:
Se você quiser, um pouco mais de autoconfiança, o novo URL svn repo está conectado e funcionando:
fonte
No meu caso, o
svn relocate
comando (bem comosvn switch --relocate
) falhou por algum motivo (talvez o repo não tenha sido movido corretamente, ou outra coisa). Eu enfrentei este erro:Eu não queria baixar novamente o repositório inteiro, então encontrei uma solução alternativa. Funcionou no meu caso, mas geralmente posso imaginar que muitas coisas podem quebrar (portanto, faça backup de sua cópia de trabalho ou esteja pronto para verificar novamente todo o repositório se algo der errado).
O endereço do repo e seu UUID são salvos no
.svn/wc.db
arquivo de banco de dados SQLite em sua cópia de trabalho. Basta abrir o banco de dados (por exemplo, no navegador SQLite), navegar na tabela REPOSITÓRIO e alterar os valores das colunasroot
euuid
para os novos. Você pode encontrar o UUID do novo repo emitindosvn info NEW_SERVER
.Novamente, trate isso como um método de último recurso.
fonte
Se você quiser se comprometer com um novo repositório vazio, poderá fazer check-out do novo repositório vazio e se comprometer com um novo repo remoto.
chekout um novo Repo vazio não excluirá seus arquivos locais.
tente isto: por exemplo, repo url remoto: https://example.com/SVNTest
cd [YOUR PROJECT PATH] rm -rf .svn svn co https://example.com/SVNTest ../[YOUR PROJECT DIR NAME] svn add ./* svn ci -m"changed repo url"
fonte