Atualizei recentemente os repositórios do Subversion de uma versão 1.2.3 antiga para a 1.6.0 via svnadmin dump / load . Todos os repositórios antigos usavam o mesmo UUID (os repositórios foram criados usando-se a cópia de um repositório de modelos). Mudei o UUID em alguns dos novos repositórios via svnadmin setuuid para ser único. Não posso apenas realocar minhas cópias de trabalho existentes desses repositórios porque os UUIDs são diferentes. Eu sei sobre a exportação da cópia de trabalho e o check-out do novo repositório, mas fiquei pensando se havia uma maneira de alterar apenas o UUID da cópia de trabalho no local, como o que o svnadmin setuuid faz pelos repositórios.
Aqui está um comando que faz o truque para o SVN 1.6 e abaixo:
Substitua
old-uuid
enew-uuid
pelos IDs reais.fonte
sed -i "" 's/old-uuid/new-uuid/'
e ele funciona (apenas as aspas duplas vazias extras) ( ref )A resposta de Yves Martin funcionou muito bem para nós em várias cópias de trabalho com o SVN 1.8, mas acabamos encontrando casos em que não funcionava.
A execução do comando Yves sem "where id = 1" funcionou em todos os casos para nós:
Investigando por que isso aconteceu, descobri que vários UUIDs são armazenados ao realocar o repositório, ao contrário da intuição de Yves de que isso nunca deveria acontecer.
Uma nova entrada na tabela REPOSITORY é adicionada após uma realocação em vez de atualizar a existente, armazenando um ID incrementado com a nova raiz do repositório e seu UUID. Portanto, os casos que falharam em funcionar corretamente foram as cópias de trabalho que já haviam sido realocadas no passado: O comando parecia funcionar, mas apenas o UUID inicial foi alterado, e não o atualmente sendo usado.
Pode-se verificar a lista de raízes e UUIDs armazenados em uma cópia de trabalho com este comando:
Finalmente, observarei que tive que usar um conjunto diferente de cotações para os arquivos de lote / linha de comando do Windows, da seguinte maneira:
fonte
A seção " Gerenciando UUIDs de repositório " no svn red-bean book pode ter a resposta que você está procurando.
fonte