Ocasionalmente, tivemos um problema com o TortoiseSVN (suponho que seja o Tortoise e não o nosso repositório SVN), onde um arquivo será registrado no repositório (fazendo um repo-browser você pode ver os arquivos lá) e existirá para a pessoa quem os confirmou, mas quando outra pessoa fizer uma atualização, esses arquivos não serão adicionados à cópia de trabalho. Se eu escolher "Copiar para cópia de trabalho ..." no navegador de repositório e tentar confirmar, os arquivos serão tratados como novos para mim e meu cliente tentará adicioná-los, causando um erro. A atualização também resulta em algum erro (não sei como reproduzir isso, não sei o que especificamente causaria isso e não me lembro dos erros exatos). Eu tenho que excluir os arquivos do repositório e confirmar os arquivos como novos. Depois disto,
O repositório é acessado através do protocolo svn: //, para um servidor executando a versão 1.4.6. Ele está hospedado em uma máquina Windows Server 2003 em execução como um serviço do Windows.
O repositório é organizado da seguinte maneira:
[repositório] / Código / [projetos] [repositório] / Código / [Site] / * alguma página aqui * [repositório] / Dados / [arquivos de dados diversos] [repositório] / Referências / [DLLs / Referências]
Isso acontece quase exclusivamente com .aspx / .aspx.cs / .aspx.designer.cs e, geralmente, com todos os três de cada vez. Como se uma "página" inteira não fosse adicionada à minha pasta. Isso aconteceu com o Visual Studio aberto e executando a solução e também sem o Visual Studio aberto.
Alguém já viu isso antes e conhece a causa / solução?
fonte
Respostas:
Eu também já tive o problema descrito algumas vezes. No momento, aconteceu novamente. Mesma situação: houve vários arquivos alterados / adicionados / excluídos / movidos no servidor SVN de um cliente SVN A e o cliente SVN B atualizou sua cópia de trabalho (usando o Tortoise SVN). Após a atualização, alguns dos arquivos que foram adicionados de A não estão presentes na cópia de trabalho de B, mas o navegador do repositório os mostra no local correto no servidor SVN. Atualizar novamente com o Tortoise sempre afirma que tudo está na revisão atual. Também um "svn up" na pasta onde estão faltando os arquivos diz que tudo está na revisão atual.
estou a usar
Tortoise SVN 1.6.6, Build 17493 - 64 Bit
Visual SVN 1.7 (integração SVN ao Visual Studio 2008)
Edit: Parece ser um problema conhecido, eis a solução: http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2379518
fonte
você pode testar se é tartaruga ou svn usando as ferramentas de linha de comando. digite 'svn up' no diretório raiz do WC.
Como você diz que está no 1.4.6, você não está tendo problemas com diretórios esparsos. Você ignorou arquivos nas configurações do seu cliente? Tem certeza de que seu WC está apontando para a URL correta no repositório e não foi alternado para uma ramificação diferente? (você pode ver isso nas propriedades da pasta - há uma guia de subversão)
Se você fizer 'svn status' no seu WC, deverá ver a lista de arquivos alterados no diretório do servidor.
fonte
Eu experimentei o mesmo problema com o SVN 1.6.2 e 1.6.3 (linha de comando, Tortoise e Subclipse). parece que esse problema está relacionado ao próprio SVN. Existe uma solução alternativa a seguir - tente fazer o checkout no mesmo diretório - apenas adiciona os arquivos ausentes.
fonte
Também experimentei esse bug com o Tortoise SVN com pelo menos 1.6.2 para o que estou usando atualmente 1.6.5. "Get latest" não obterá os arquivos do repositório. Eu tive que excluir o diretório afetado e obter as informações mais recentes sobre o diretório pai para recriar o diretório e seu conteúdo.
gbjbaanb, esse definitivamente não é um caso de arquivos ignorados ou ramificações comutadas.
fonte
Não consegui resolver esse problema usando as instruções no link de Daniel, mas concordo que parece ser um problema central na maioria das implementações SVN no Windows, no mínimo.
Para corrigir meu problema de pasta ausente, minhas etapas foram:
Espero que isso ajude alguém por aí.
fonte
Infelizmente, as respostas anteriores acima não funcionaram para mim. Eu tinha o mesmo problema: uma pasta na qual eu estava trabalhando tinha alguns objetos não confirmados. Essa pasta foi atualizada com muitos objetos por outro usuário. Eu podia ver os objetos desse usuário no repositório, mas toda vez que fazia uma atualização, nunca obtinha os objetos desse usuário.
A correção que funcionou é usar o TortoiseSVN Revert na pasta.
fonte