Se eu tentar atualizar meu repositório do subversion, ele deverá executar a limpeza. Se eu executar a limpeza, ele diz que está faltando um arquivo. (Excluí um diretório MASSIVO de arquivos que não foram confirmados esta manhã do meu PC em casa, mas depois comprometo o mesmo conjunto de arquivos do trabalho e agora o repositório doméstico está quebrado). Então, a limpeza diz:
Falha na limpeza do processo blablabla Não é possível definir o arquivo blablabla leitura / gravação: O sistema não pode encontrar o arquivo especificado.
Se eu atualizar, diz:
Comando: Erro de atualização: a operação anterior não foi concluída; execute 'limpeza' se foi interrompido Erro: Execute o comando 'Limpeza'. Concluído !:
Como faço para soltar isso?
svn
tortoisesvn
coderama
fonte
fonte
Respostas:
Eu já estive em situações semelhantes. Você já tentou executar a limpeza a partir da raiz do seu espaço de trabalho? Sei que às vezes uma limpeza de um diretório filho (onde está o problema) não funciona e a limpeza da raiz do espaço de trabalho.
Se isso ainda falhar, desde que você excluiu um diretório filho em algum lugar. Tente excluir 1 nível mais alto do diretório filho (supondo que não seja a raiz) e tente novamente a atualização e a limpeza.
Se as tentativas de limpeza não tiverem êxito em nenhum nível, infelizmente a resposta está fazendo o check-out de uma nova cópia de trabalho.
fonte
Geralmente, não há necessidade de um novo checkout ou cópia.
Acabei de resolver um problema semelhante relacionado ao erro "a operação anterior não foi concluída" com a ajuda deste ( Link )
Parece que o svn às vezes fica preso ao processar comandos / operações. Todas essas operações são armazenadas no arquivo de banco de dados wc.db na pasta .svn.
Fazendo o download do SQLite para o meu diretório de checkout e executando
você pode obter uma lista de todas as operações pendentes. Essas operações são as que o erro está se referindo como "não concluído".
Correndo
todas as operações antigas são excluídas da fila de trabalho e o erro desaparece. Não há necessidade de um novo checkout ou qualquer coisa
fonte
O console em execução
svn cleanup
resolveu o mesmo problema para mim.fonte
svn cleanup
também fornecerá informações mais detalhadas do que o uso do plug-in Tortoise Explorer, o que o torna muito útil em situações como esta.svn cleanup
, graçassvn cleanup
, verifique se o console está elevado. Não fiz isso inicialmente e recebi ored-write: Access is denied
erro.Eu apenas tive um problema semelhante. A execução do Process Explorer mostrou que outro programa (Notepad ++) tinha um identificador de arquivo em uma pasta que o SVN tentou excluir. Quando fechei o Notepad ++, o "Clean Up" foi executado com êxito.
fonte
Eu estava enfrentando esse problema depois de adicionar um jar que já está no SVN e adicionei a nova versão com o mesmo nome.
No Eclipse, tentei isso
Usando as etapas acima, sou capaz de sincronizar.
fonte
Eu tentei as respostas mais votadas aqui e algumas outras sem sucesso. Minha
WORK_QUEUE
mesa estava vazia e não consegui fazer uma limpeza em uma pasta mais alta. O que funcionou foi o seguinte (isso é via Tortoise SVN);Break Locks
está marcada e clique em OKA operação de limpeza agora é concluída com êxito e eu posso continuar. Não é necessário fazer o download do sqlite3 ou de outras soluções complicadas.
fonte
Tentar executar a limpeza enquanto seus arquivos estão abertos me deu problemas. assim que fechei meu aplicativo (Visual studio), executei a limpeza e foi bem-sucedido
fonte
Eu uso tartaruga SVN. Quando a limpeza falhou, marque a opção de limpeza
Verifique se a opção Quebrar bloqueios está marcada.
Etapa de limpeza
Ele já respondeu, mas às vezes a imagem ajuda
fonte
Eu tive o mesmo problema, no meu caso eu estava usando svn tortoise com o aplicativo que eu quis dizer. Usando o cmd shell do windows no modo raiz, apliquei o svn cleanup e o svn update .... Então você pode retornar ao modo de aplicativo e ele funcionará perfeitamente!
fonte
Tentei remover a pasta .svn para outro local e coloquei-a novamente na mesma pasta raiz. Depois, quando tentei atualizar o SVN, ele foi atualizado. Não sei exatamente como funcionou.
fonte
Eu tive o mesmo problema e, de alguma forma, descobri que tinha um arquivo .svn oculto no nível c: \. Depois de excluir essa pasta oculta (.svn), tudo funcionou bem. Devo ter criado acidentalmente um diretório de trabalho na unidade raiz.
fonte
No meu caso, eu tinha um relógio de gole que causava os problemas. Depois de pará-lo, eu poderia executar o comando Cleanup.
fonte
oi pessoal nos meus casos depois de fechar o Visual Studio e tentar novamente o CleanUp, ele funciona
fonte
Eu também fiquei com o mesmo problema que tentei golpe:
1.Tente matar o processo relacionado ao svn, por exemplo, TSVNCache.exe e TortoiseProc 2.Revertendo os arquivos não-versionados e excluindo os mesmos, que eu tenho no svn. 3.cleanup usando o prompt de comando "svn cleanup"
e finalmente quando reiniciou a área de trabalho funcionou para mim, então, para reiniciar o sistema funcionou para mim
fonte
exclua o svn da pasta principal e substitua-o por outra cópia viável que você possui de elsewere.and update. A pasta svn será normalmente uma pasta oculta. Portanto, certifique-se de reexibir a pasta antes de executar as etapas acima.
fonte
Solução alternativa que funcionou para mim:
Feito, mas não posso explicar por que isso acontece. Se você não remover os arquivos, o comando cleanup diz que ele não pode ler / gravar esses arquivos.
fonte
Eu tive o mesmo problema, o que funcionou para mim:
fonte
Ocorreu um erro como "Não é possível alterar as permissões do arquivo '/Users/Code/UnitTest.cpp': esse arquivo ou diretório não existe". A subversão está confusa sobre um arquivo que não está mais lá. Eu simplesmente fiz algo como "echo ABCD >> /Users/Code/UnitTest.cpp" para criar uma cópia do arquivo e, em seguida, limpar. Funcionou.
fonte
No meu caso, o erro apareceu ao tentar confirmar a partir de um IDE. Quando executei a confirmação dos mesmos diretórios com o TortoiseSVN no explorer, a operação foi bem-sucedida.
fonte
Isso aconteceu comigo ao usar recursos externos e um deles estava corrompido. Eu tive que ir para essa pasta e fazer uma limpeza. A limpeza funcionou durante toda a cópia de trabalho.
Exemplo: Usando externo
^/widgets/foo common/foo-widget
, primeiro execute a limpeza na pastacommon/foo-widget
.fonte
Resolvi esse erro hoje quando ocorreu ao tentar confirmar com o SVN. O erro foi genuíno, o TortoiseSVN não pôde acessar um arquivo que eu tentei confirmar. Este arquivo foi salvo durante a execução de um programa "Como administrador" no Windows. Isso significa que o arquivo tem acesso de administrador, mas não da minha conta (o TortoiseSVN é executado como usuário interativo). Eu assumi a propriedade do arquivo indicado na minha conta do Windows e, depois disso, a Limpeza pôde prosseguir.
fonte
Inicialmente, tive esse problema ao tentar fazer o check-in com o TortoiseSVN. Inicialmente, a limpeza do TortoiseSVN e a limpeza do console svn falharam com mensagens semelhantes às do pôster original.
Mas minha solução (descoberta acidentalmente) foi apenas esperar alguns minutos. Estou pensando que o TSVNCache estava mantendo alguns desses arquivos no momento do check-in.
fonte
siga as etapas abaixo.
1) Vá para o diretório em que você não pode limpar com êxito via
svn
(pasta raiz ou pasta filho).2) Selecione a
.svn
pasta no diretório, recorte-a e cole-a na unidade ou no local separado (fora do diretório svn)3) Agora, volte ao diretório - clique com o botão direito e selecione
TortoiseSVN -->Repo-browser
4)
Checkout
a pasta (não será efetuada uma nova verificação geral).5) Todos os seus itens serão versionados novamente, e isso corrigirá o problema interno do svn, e o problema deve ser resolvido.
fonte
No meu caso, uma instância de Java Virtual Machine em segundo plano estava sendo executada, matando a limpeza com êxito.
fonte
Eu peguei a pasta .svn do meu colega desenvolvedor e substituí a minha pasta .svn por essa. Funcionou para mim. Não sei o que pode ser outras consequências!
fonte
Usando este link, https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
Notei que o tutorial tinha as 6 principais opções marcadas. Desesperado, tentei usar aquelas caixas marcadas e, para minha surpresa, funcionou. Certifique-se de ler atentamente o que cada um faz. Olhando para a descrição de cada uma, elas pareciam seguras incluir para mim, então um desses itens verificados parecia ter corrigido qualquer problema que estivesse me impedindo.
fonte
Isso pode acontecer quando você ainda possui arquivos abertos ao tentar alternar / limpar o SVN.
Eu tinha uma ramificação onde havia criado um novo arquivo, que havia aberto em outro aplicativo. A mudança para outra ramificação não pôde remover o arquivo causando falha na troca. Isso também estava causando o
svn cleanup
falha, no entanto, isso não é exibido como o motivo na interface do usuário do Tortoise SVN.Executar a
svn cleanup
partir de uma janela do console (na pasta raiz) mostra claramente o errofile\location\file.ext: The process cannot access the file because it is being used by another process
Fechar qualquer identificador de arquivo aberto / windows e executar o console
svn cleanup
permite que a limpeza funcione corretamente.Longa história - execute
svn cleanup
no console para ver um erro mais detalhado.fonte
Além da resposta do Sigurd V (você deve tentar isso primeiro), algumas bases de código maiores têm várias pastas '.svn' e não é necessariamente aquela no diretório raiz que possui a tarefa bloqueada.
Se for esse o caso, você deve verificar cada um. Se você já possui SQLite e Powershell, pode localizar o diretório incorreto rapidamente.
Para descobrir quais pastas estão bloqueadas, execute (substituindo
path\to\sqlite.exe
):Get-ChildItem -Path . -Filter '.svn' -Recurse -Hidden | foreach { $toFind = $_.FullName + "\wc.db" ; gci $toFind | foreach { echo $_.FullName ; path\to\sqlite.exe $_.FullName "select * from work_queue" } }
.Isso fornece uma lista dos diretórios .svn e, abaixo de cada um, uma lista das tarefas atuais.
Se houver algum com tarefas inacabadas, para cada uma delas execute (substituindo
path\to\sqlite.exe
epath\to\.svn\wc.db
):path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"
fonte
Eu já vi vários problemas com
svn
, incluindo este, resolvidos com a exclusão / criação de um.svn/tmp
diretório. Então corrasvn cleanup
fonte
Siga este link. É Resolva seu problema completamente.
Vá para o diretório principal, clique com o botão direito do mouse -> Tortoise SVN -> Limpar
https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
fonte