Teve que lidar com isso. Eu uso o subversion hospedado, fiz um despejo e depois importei. O processo de importação deles não transferiu o UUID do repositório antigo para o novo, então eu recebi o mesmo erro do OP. Todas as respostas nos sites do Stack Exchange apenas explicam como lidar com isso usando "svnadmin setuuid", mas essa não foi uma opção para mim, pois eu uso um serviço hospedado (e, portanto, o svnadmin não terá acesso ao repositório ) Eu poderia ter inserido um ticket, mas não queria lidar com a espera, então aqui está como eu o corrigi, atualizando manualmente o UUID da minha cópia de trabalho :
Aviso: tente isso apenas se tiver certeza de que a cópia de trabalho e o repositório para o qual está apontando novamente estão absolutamente sincronizados. Não tenho certeza do que acontecerá se não estiverem.
O processo é basicamente substituir o UUID antigo pelo novo UUID nos arquivos chamados "entradas" nas pastas svn ocultas (pastas denominadas .svn ou _svn) da sua cópia de trabalho. Feito isso, você pode usar o "relocate" do TortoiseSVN para apontar o diretório de trabalho para o novo URL do repositório.
Na janela do console, CD para a raiz da sua pasta de trabalho.
Execute o comando para remover recursivamente o atributo "somente leitura" dos arquivos "entradas": attrib -R entries /S
Use a função "substituir em arquivos" de um editor de texto para substituir o antigo UUID pelo novo UUID. Usei o Visual Studio com as seguintes configurações: Examinar: PATH_TO_WORKING_FOLDER_ROOT / Incluir subpastas: marcado / Examinar estes tipos de arquivo: entradas
Desfazer a etapa 2: attrib +R entries /S
"Realocar" a cópia de trabalho para o novo URL. Eu usei o TortoiseSVN: clique com o botão direito do mouse na pasta de trabalho, TortoiseSVN-> Realocar.
Tudo o que a etapa 5 faz é substituir as URLs nos arquivos de "entradas" que eu penso, então você poderá fazer isso manualmente, se quiser. Também é possível com a ferramenta de linha de comando "svn", mas não conheço o comando de cima para baixo.
Isso é intenso. Isso é mesmo necessário? Eu só estou tentando descobrir isso, pois meu provedor aparentemente mudou nossos repositórios e recebo o mesmo erro.
Até
0
Você pode definir o UUID em um repositório vazio. Importe os arquivos que você possui. Você perderá seu histórico (ele não é mantido na cópia de trabalho). Mas, configurando o UUID para corresponder ao seu repositório antigo, você evita a mensagem de erro no comutador svn.
$ svnlook uuid /var/svn/repos
cf1b8d31-acb6-02dc-bc7c-16e92ce6dbec
$ svnadmin setuuid /var/svn/repos # generate a new UUID
$ svnlook uuid /var/svn/repos
4c2c49fe-acc1-23dc-acbc-2b28ff0c9e6c
$ svnadmin setuuid /var/svn/repos 1c604742-6b16-462b-86e4-cc8bce959242 # restore the old UUID
$ svnlook uuid /var/svn/repos 1c604742-6b16-462b-86e4-cc8bce959242
minha versão do servidor svnadmin não tinha o subcomando setuuid, acho que é um dos comandos mais recentes. Então eu achei um arquivo db / UUID no repositório, mas depois de modificar o número nele, svn ainda reclamou que não é o mesmo repositório
Pavel K.
0
Eu tive o mesmo problema, mas como usamos uma opção hospedada, também não consegui svnadmin.
Este foi um externo que usei em outro projeto e fiz isso para corrigi-lo:
Você pode definir o UUID em um repositório vazio. Importe os arquivos que você possui. Você perderá seu histórico (ele não é mantido na cópia de trabalho). Mas, configurando o UUID para corresponder ao seu repositório antigo, você evita a mensagem de erro no comutador svn.
fonte
Eu tive o mesmo problema, mas como usamos uma opção hospedada, também não consegui
svnadmin
.Este foi um externo que usei em outro projeto e fiz isso para corrigi-lo:
rm -rf
o diretório (o externo é verificado)svn:external
(e confirmar isso)svn up
svn:external
novamentefonte