Recentemente, nosso servidor svn foi alterado e fizemos uma troca de svn.
Como a cópia de trabalho tinha uma enorme quantidade de recursos não versionados, ela foi bloqueada e começamos a alternar pasta por pasta para todas as pastas em svn, o que funciona perfeitamente bem.
Mas no nível mais alto do repositório, quando tento atualizar arquivos, recebo o svn: Working copy '.' erro bloqueado e limpeza também não está ajudando. Quando faço a limpeza, recebo erros como estes - svn: 'content' não é um diretório de cópias de trabalho
Checkout fresco NÃO é uma opção. Existem outras maneiras de limpar e liberar os bloqueios e fazer a troca completamente?
EDIT: O último parágrafo da resposta de JesperE
Se você receber uma "cópia não de trabalho" ao fazer uma "limpeza svn" recursiva, meu palpite é que você tem um diretório que deve ser uma cópia de trabalho (ou seja, o diretório .svn no nível superior diz isso), mas está faltando a sua próprio diretório .svn. Nesse caso, você pode tentar remover / mover esse diretório e fazer uma atualização local
parece ser a solução para o problema no repositório. Eu identifiquei essas pastas e fiz uma nova verificação dessas pastas específicas sozinho e uau, os bloqueios são liberados na limpeza subsequente! Muito obrigado JesperE !!
Mas ainda não consigo descobrir o erro do svn switch que agora lê algo como,
svn: O repositório em 'svn: // repourl / reponame / foldername' possui o uuid 'm / reponame', mas o WC possui 'b5b39681-0ff6-784b-ad26-2846b9ea8e7d'
Alguma ideia ?
Respostas:
Se você receber uma "cópia não de trabalho" ao fazer uma recursiva
svn cleanup
meu palpite é que você possui um diretório que deve ser uma cópia de trabalho (isto é, o.svn
diretório no nível superior diz isso), mas está faltando seu próprio.svn
diretório. Nesse caso, você pode tentar remover / mover esse diretório e fazer uma atualização local (por exemplorm -rf content; svn checkout content
).Se você receber um
not a working copy
erro, significa que o Subversion não pode encontrar um.svn
diretório apropriado lá. Verifique se há um.svn
diretório emcontents
A solução ideal é um novo checkout, se possível.
fonte
rm -rf
exclui a pastacontent
permanentemente. Faça um backup antes de executá-lo.Entrei em uma situação semelhante (
svn: 'papers' is not a working copy directory
) de uma maneira diferente, então pensei em publicar minha história de batalha (simplificada):Opa! corrija as permissões ... então:
E mesmo
papers
sair do caminho e corrersvn up
(que funcionou para o OP) não o consertou. Aqui está o que eu fiz:Isso funcionou.
fonte
Eu resolvi isso
No meu caso, o problema ocorreu devido à exclusão de arquivos .svn.
fonte
Talvez você tenha copiado a árvore da pasta e tentando adicionar a mais baixa.
nesse caso, você deve confirmar o diretório no nível superior.
fonte
Solução alternativa: renomeie o diretório que não é 'cópia de trabalho' Finalize a compra / atualize / restaure este diretório novamente Mova os arquivos do diretório renomeado para as novas alterações de confirmação
Motivo: você fez algumas alterações em alguns arquivos no diretório .svn, isso quebra a 'cópia de trabalho'
fonte
Se você criou um arquivo dentro de um novo diretório, em vez de 'svn add newdir / newfile' use 'svn add newdir' porque você precisa adicionar o diretório. Todos os arquivos dentro do diretório serão adicionados por padrão.
fonte
Acabei de receber "não uma cópia de trabalho", e para mim o motivo foi o Automouter no Unix. Apenas um novo "cd / path / to / work / directory" fez o truque.
fonte
Mesmo assim, eu precisava atualizar uma pasta 'contrib':
No meu caso, também, o problema ocorreu devido às pastas .svn excluídas.
Resolvido.
fonte
Tentei colar a pasta .svn da subpasta na pasta raiz. Funciona!!!
fonte
Isto é o que eu fiz:
fonte
Eu também encontro esse problema na operação svn diff, que foi causada pelo caminho incorreto do arquivo, você deve adicionar
'./'
para indicar o diretório de arquivo atual.fonte
Todo repositório do subversion possui um identificador exclusivo (uuid). O Subversion usa isso para garantir que o repositório seja o mesmo ao fazer coisas como alternar. Você provavelmente deve alterar o uuid no servidor para o mesmo de antes.
fonte
Poderia ser uma incompatibilidade de formato de cópia de trabalho? Ele mudou entre svn 1.4 e 1.5 e as ferramentas mais recentes convertem automaticamente o formato, mas as mais antigas não funcionam mais com a cópia convertida.
fonte
Você deve ter excluído um arquivo base SVN do seu projeto (que são arquivos somente leitura). Devido a isso, você recebe esse erro.
Confira um novo projeto novamente, mescle as alterações (se houver) do seu projeto SVN mais antigo com o novo usando "Winmerge" e confirme as alterações no último check-out.
fonte
O @JesperE menciona que você precisa alterar o uuid. O seguinte deve ajudá-lo a conseguir isso.
No SVN 1.5+, você pode executar o svnadmin setuuid; então você pode verificar se foi definido corretamente usando o svnlook uuid. Nas versões anteriores do SVN, é um processo mais difícil. Consulte http://chestofbooks.com/computers/revision-control/subversion-svn/Managing-Repository-UUIDs-Reposadmin-Maint-Uuids.html
Além disso, o UUID de "m / reponame" parece suspeito. Eu acredito que deveria ser um número no formato hexadecimal como o da cópia de trabalho, então talvez essa ação melhore as coisas :-)
[Eu originalmente comentei na resposta do @ JesperE , mas criei essa resposta para torná-la mais óbvia para as pessoas e mais útil para o Google. Desde então, removi meus comentários. ]
fonte
Tivemos o mesmo problema, e tivemos o Slik 1.6.2 e o Tortoise na mesma máquina. O Tortoise foi atualizado (e atualizou a cópia de trabalho), mas Slik não, portanto, o Tortoise funcionou bem, mas as linhas de comando falharam com:
A remoção do Tortoise e do Slik e a reinstalação do Tortoise com as ferramentas de linha de comando ativadas corrigiram isso para mim.
fonte
para mac: - faça o checkout do lado do servidor e uma nova janela será aberta para selecionar o diretório da sua máquina local. Coloque todo o código na pasta selecionada, abra o svn local side e adicione e confirme o projeto
fonte
Hoje encontrei o mesmo problema
/FILE_NAME/ is not a working copy
pela manhã e passei mais de duas horas para resolvê-lo. Depois de muito tempo de RND e Google, encontrei alguma solução e é issoCHECKOUT
.CHECKOUT
deSUBVERSION
para local como novo projeto.Espero que seja útil para você.
fonte
Recentemente eu estava usando outros desenvolvedores do Mac, tive a mesma situação, o problema era; primeiro eu precisava digitar get repo path para o terminal, mas não o fiz, pois diz qual é o seu nome de usuário e senha.
fonte
Acabei de encontrar um caso em que o diretório .svn está em um servidor nfs em uma máquina diferente e o cliente nfs não estava executando o serviço de bloqueio de arquivos (
lockd
).Isso desapareceu assim que
lockd
foi iniciado no host do cliente nfs.Parece que o subversion pode aparecer com uma mensagem de erro melhor quando há problemas para bloquear arquivos. Esta foi a subversão 1.10.0
fonte
Fiz um novo check-out do mesmo projeto para um local diferente, copiei a pasta .svn e substituí-a pela minha antiga pasta .svn. Depois disso, chamou a função svn update e tudo foi sincronizado corretamente e atualizado.
fonte
Exclua a pasta .svn presente na sua máquina local. Pressione o ícone do Windows e digite .svn, exclua a pasta inteira. Funcionou para mim.
fonte