TortoiseSVN faltando arquivo em atualização

12

Ocasionalmente tivemos um problema com o TortoiseSVN (suponho que seja Tortoise e não nosso repositório SVN), onde um arquivo será verificado no repositório (fazendo um repo-browser você pode ver os arquivos lá), e existirá para a pessoa que os cometeu, mas quando outra pessoa fizer uma atualização, esses arquivos não serão adicionados à cópia de trabalho. Se eu então escolher "Copiar para cópia de trabalho ..." do repo-browser, e tentar um commit, os arquivos serão tratados como novos para mim e meu cliente tentará adicioná-los, dando um erro. A atualização também resulta em algum erro (não sei como reproduzir isso, então 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 disso, tudo funciona bem e a pessoa original não tem problemas com seus arquivos.

O repositório é acessado através do protocolo svn: // para um servidor rodando 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 é apresentado da seguinte forma:

[repository]/Code/[projects]
[repository]/Code/[Website]/*some page in here*
[repository]/Data/[misc data files]
[repository]/References/[dlls/references]

Isso ocorre quase exclusivamente com .aspx / .aspx.cs / .aspx.designer.cs e geralmente todos os 3 por vez. Como se uma "página" inteira não fosse adicionada à minha pasta. Isso aconteceu com o Visual Studio abrindo e executando a Solução, e também sem abrir o Visual Studio.

Alguém já viu isso antes e conhece a causa / solução?

    
por goldenratio 30.06.2009 / 19:31

6 respostas

10

Eu também tive o problema descrito às vezes. No momento, aconteceu de novo. Mesma situação: Vários arquivos foram 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 mostra-os 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 os arquivos estão faltando diz que tudo está na revisão atual.

Estou usando

Tortoise SVN 1.6.6, Build 17493 - 64 bits

Visual SVN 1.7 (integração SVN no Visual Studio 2008)

Editar: Parece ser um problema conhecido, eis a solução: link

    
por 14.11.2009 / 10:17
3

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, não está tendo problemas com diretórios esparsos. Você ignorou arquivos nas configurações do seu cliente? Tem certeza de que seu PC está apontando para o URL correto no repositório e não foi alternado para um ramo diferente? (você pode ver isso nas propriedades da pasta - há uma guia do subversion)

Se você fizer 'svn status' no seu WC você deve ver a lista de arquivos alterados no diretório do servidor.

    
por 01.07.2009 / 01:33
3

Eu experimentei o mesmo problema com o SVN 1.6.2 e 1.6.3 (linha de comando, Tortoise e Subclipse). então parece que o problema está relacionado ao próprio SVN. A seguinte solução alternativa - tente fazer o checkout para o mesmo diretório - apenas adiciona arquivos ausentes.

    
por 17.07.2009 / 12:14
1

Eu também experimentei esse bug com o Tortoise SVN com pelo menos 1.6.2 para o que eu estou atualmente usando 1.6.5. "Get latest" não obterá os arquivos do repositório. Eu tive que excluir o diretório afetado e obter mais recente no diretório pai para recriar o diretório e seu conteúdo.

gbjbaanb, isso definitivamente não é um caso de arquivos ignorados ou ramificações comutadas.

    
por 29.10.2009 / 16:36
1

Eu não consegui resolver esse problema usando as instruções do link de Daniel, mas concordo que parece ser um problema central com a maioria das implementações de SVN no Windows, no mínimo.

Para corrigir o problema da minha pasta ausente, meus passos foram:

  1. "Atualizar para revisão", selecionando um número de confirmação antes que qualquer arquivo da pasta tenha sido modificado, adicionado ou excluído e escolha "Totalmente recursivo". (Isso causará algum erro estranho na tartaruga. Isso é esperado!)
  2. Executar uma limpeza.
  3. Atualize a pasta novamente e você deve obter a pasta inteira!

Espero que isso ajude alguém lá fora.

    
por 25.08.2011 / 21:18
0

Infelizmente, as respostas anteriores acima não funcionaram para mim. Eu tive o mesmo problema: uma pasta em que eu estava trabalhando tinha alguns objetos não confirmados nela. Essa pasta foi atualizada com muitos objetos por outro usuário. Eu podia ver os objetos do usuário no repositório, mas toda vez que eu fazia uma atualização eu nunca pegava os objetos do usuário.

A correção que funcionou é usar o TortoiseSVN Reverter na pasta.

    
por 25.06.2015 / 22:17