Quando tento atualizar alguns arquivos do Subversion, recebo o erro:
org.tigris.subversion.javahl.ClientException:
Checksum mismatch while updating 'D:\WWW\Project\\.svn\text-base\import.php.svn-base'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd669dce5300d7035eccb543461a961e'
Por que eu recebo isso? Como posso corrigir isso?
Caso você esteja usando o SVN 1.7+, há uma solução alternativa descrita aqui .
Apenas para recapitular:
svn update --set-depth empty
(nota: isso excluirá seus arquivos, faça uma cópia primeiro!)svn update --set-depth infinity
fonte
Eu tive um problema semelhante. O principal provedor foi o antivírus "FortiClient" (antivírus + VPN CLient). Quando o desativei - todas as atualizações / check-out foram feitas corretamente
fonte
Encontrei uma maneira mais fácil de corrigir esse problema. Você não pode fazer isso diretamente do eclipse. Passos:
Isso restaurará a pasta base de texto na pasta .svn. A incompatibilidade de soma de verificação durante a atualização do erro não aparecerá mais.
fonte
Isso aconteceu comigo usando o plug-in Eclipse e sincronizando. O arquivo que causou o problema não teve alterações locais (e, de fato, nenhuma alteração remota desde a minha última atualização). Eu escolhi "reverter" para o arquivo, sem outras modificações nos arquivos, e as coisas voltaram ao normal.
fonte
Eu tive o mesmo erro, mas para um arquivo. No IntelliJ IDEA, pude fazer uma cópia do arquivo, depois entrar no projeto, excluir o arquivo em questão e confirmar com êxito. Então, criei um novo arquivo com o mesmo nome e copiei o conteúdo novamente. Eu acho que você perderia o histórico de revisões, mas funciona.
fonte
Se você tem um colega trabalhando com você:
1) peça para ele renomear o arquivo causando problemas e
commit
2) você
update
(agora você vê o arquivo com soma de verificação inválida com nome diferente)3) renomeie-o de volta ao seu nome original
4)
commit
(e peça ao seu colega paraupdate
recuperar o nome do arquivo em seu estado inicial)Isso resolveu o problema para mim.
fonte
Eu encontrei uma solução muito boa, que resolveu o meu problema. O truque é editar o svn DB (wc.db).
A solução está descrita nesta página: http://www.exchangeconcept.com/2015/01/svn-e155037-previous-operation-has-not-finished-run-cleanup-if-it-was-interrupted/
Se o link estiver desativado, basta olhar e seguir estas instruções:
Eu usei a ferramenta sqlite em http://sqlitebrowser.org/ .
fonte
Estou usando o Tortoise SVN, depois de tentar todas as soluções nesta página e não funcionar,
Finalmente faço o backup do arquivo do problema. e use
Repo Browser
excluir o arquivo com problema e atualize a pasta local para que o arquivo na pasta local seja excluído. Em seguida, copie o arquivo de backup para queAdd > Commit
eu possa atualizar com êxito.A única desvantagem desse método é que o histórico desse arquivo será removido.
fonte
Para resolver isso, siga as seguintes etapas:
Se ainda não funcionar. Tente esse. É apenas uma solução alternativa:
Isso obterá a versão mais recente do arquivo do repositório e todos os conflitos serão resolvidos.
fonte
tinha um problema semelhante em um servidor, mas o diretório SVN era muito grande, não queria excluir e ressincronizar, então apenas fiz uma cópia dos arquivos localmente e os excluí. Quando a atualização foi bem-sucedida e os arquivos foram adicionados novamente.
fonte
tente excluir o arquivo e remover a referência de arquivo das entradas de arquivo no diretório .svn
fonte
Eu tive um erro semelhante e corrigi da seguinte maneira:
(Minha 'correção' é baseada em uma suposição que pode ou não estar correta, pois eu não sei muito sobre como o subversion funciona internamente, mas definitivamente funcionou para mim)
Estou assumindo que .svn \ text-base \ import.php.svn-base deve corresponder à confirmação mais recente.
Quando verifiquei o arquivo em que estava ocorrendo o erro, o arquivo base NÃO correspondia à confirmação mais recente no repositório.
Copiei o texto da confirmação mais recente e salvei na pasta .svn, substituindo o arquivo incorreto (fiz uma cópia de backup caso minhas suposições estivessem erradas). (o arquivo foi marcado como somente leitura, limpei essa sinalização, substituí-a e configurei-a novamente como somente leitura)
Eu fui capaz de confirmar com sucesso.
fonte
Minha solução foi:
fonte
1.'atualizar para reversão 'marque' apenas este item 'no diretório 2.update novamente marque' Totalmente recursivo '
fonte