Cópia de trabalho de atualização do SVN

133

Não consigo fazer um commit do SVN. Eu recebo este erro:

org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6)

Como pode ser consertado?

user810430
fonte

Respostas:

154

Você precisa atualizar seu cliente do subversion para pelo menos 1.7.

Com o cliente de linha de comando, você deve atualizar manualmente o formato da sua cópia de trabalho emitindo o comando svn upgrade:

Atualizando a cópia de trabalho

O Subversion 1.7 introduz mudanças substanciais no formato da cópia de trabalho. Nas versões anteriores do Subversion, o Subversion atualizava automaticamente a cópia de trabalho para o novo formato quando uma operação de gravação era realizada. O Subversion 1.7, no entanto, fará disso uma etapa manual. Antes de usar o Subversion 1.7 com suas cópias de trabalho, os usuários deverão executar um novo comando, svn upgradeatualizar os metadados para o novo formato. Esse comando pode demorar um pouco e, para alguns usuários, pode ser mais prático simplesmente fazer check-out de uma nova cópia de trabalho.
- Notas de versão do Subversion 1.7

O TortoiseSVN executará a atualização da cópia de trabalho com a próxima operação de gravação:

Atualizando a cópia de trabalho

O Subversion 1.7 introduz mudanças substanciais no formato da cópia de trabalho. Nas versões anteriores, o Subversion atualizava automaticamente a cópia de trabalho para o novo formato quando uma operação de gravação era realizada. O Subversion 1.7, no entanto, fará disso uma etapa manual.

Antes de poder usar uma cópia de trabalho existente com o TortoiseSVN 1.7, primeiro é necessário atualizar o formato. Se você clicar com o botão direito do mouse em uma cópia de trabalho antiga, o TortoiseSVN mostra apenas um comando no menu de contexto: Atualizar cópia de trabalho.
- Notas de versão do TortoiseSVN 1.7

knittl
fonte
2
Quando eu emito o comando svn upgradeUbuntu diz-me "comando não encontrado"
geneorama 28/08
@geneorama: você svninstalou? ( sudo apt-get install svn)
knittl 28/08
5
Obrigado pela resposta! Eu tinha o svn instalado (subversion), mas era a versão 1.6, que não possui o upgradecomando. O Ubuntu 12.04 não instalaria 1.7 sem adicionar um novo ppa. askubuntu.com/questions/65468/...
geneorama
@genorama Aqui estão as instruções para atualizar o svn para Mac OS que funcionarão se a partir de 1.6 redfinsolutions.com/blog/update-subversion-mac-os-x . Para Linux, imagino que seja semelhante.
Mike Eng
1
"Este comando pode demorar um pouco e, para alguns usuários, pode ser mais prático simplesmente fazer check-out de uma nova cópia de trabalho." Estou executando o comando sem saber o que esperar; após 2 segundos o console responde com a atualização '.' : P
rabidmachine9 /
57

do eclipse, você pode selecionar no projeto, clicar com o botão direito do mouse-> equipe-> atualizar

Richard Hsu
fonte
Incapaz de encontrar opção de atualização
Amit Thaper
6

No MacOS:

  1. Obtenha os binários mais recentes do cliente SVN compilados aqui .
  2. Instalar.
  3. Adicione binários ao caminho (a última tela de instalação explica como).
  4. Abra o terminal e execute o seguinte comando no diretório do seu projeto:

    atualização svn

Vaiden
fonte
3

Se você acabou de atualizar para o SVN 1.7 em sua máquina (como eu acabei de fazer) e tiver muitos projetos em sua área de trabalho do Eclipse que precisam ser atualizados, faça o seguinte em uma janela de terminal nos sistemas Unix-baesd:

cd [eclipse/workspace] # <- you supply the actual path here

for file in `find . -depth 2 -name "*.svn"`; do svn upgrade `dirname $file` ; done;

Depois de pesquisar um pouco no Google, descobri o que parece ser o equivalente para usuários do Windows:

http://www.rqna.net/qna/mnrmqn-how-to-find-all-svn-working-copies-on-win-xp.html

Veja a resposta de Alexey Shcherbak na metade da página.

pfurbacher
fonte
2

Esse problema ocorre porque você tenta compilar o projeto que possui os arquivos do OLder SVN do que você usa atualmente.

Você tem duas soluções para resolver esse problema

  1. instalar o SVN versão 1.6 para ser compatível com os arquivos SVN do projeto
  2. tente atualizar o projeto .. (nem sempre está funcionando).
AmrAngry
fonte
2

Você também pode receber mensagens estranhas sobre a necessidade de atualizar sua cópia de trabalho quando houver outras cópias de trabalho aninhadas na sua. Eu tive esse problema com um projeto do Symphony, onde algumas pastas de estrutura são cópia de trabalho, que suponho que não foram limpas corretamente antes de serem publicadas.

Nesse caso, basta pesquisar .svne excluir as .svnpastas que você não deseja (não exclua as suas na raiz, é claro).

youen
fonte
1

Depois de atualizar para a versão mais recente do Tortoise-SVN, eu precisava fazer um "Upgrade" primeiro (em vez de "Atualizar"!).

Thorsten Dittmar
fonte
1

Se você está recebendo esse erro do Netbeans (7.2+), significa que sua versão do Subversion instalada separadamente é superior à versão do netbeans. No meu caso, o Netbeans (v7.3.1) tinha o SVN v1.7 e eu havia acabado de atualizar o meu SVN para a v1.8.

Se você procurar Tools > Options > Miscellaneous (tab) > Versioning (tab) > Subversion (pane), defina o Cliente preferido = CLI e , em seguida, defina o caminho que o SVN instalado era para mim C:\Program Files\TortoiseSVN\bin.

Mais informações podem ser encontradas nas Perguntas frequentes dos clientes do Netbeans Subversion .

icc97
fonte
1

Com o AnkhSVN no Visual Studio, também há uma opção "Atualizar cópia de trabalho" no menu de contexto da solução no Gerenciador de Soluções (quando aplicável).

Andre Luus
fonte
0

Você pode atualizar para o Subversion 1.7. Para atualizar para o Subversion 1.7, é necessário iniciar o projeto existente no Xcode 5 ou superior. Isso solicitará um aviso ' The working copy ProjectName should be upgraded to Subversion 1.7' (mostrado na captura de tela abaixo).

Captura de tela para aviso

Você deve selecionar o Upgradebotão ' ' para atualizar para o Subversion 1.7. Isso levará um pouco de tempo.

Se você estiver usando o terminal , poderá atualizar para o Subversion 1.7 executando o comando abaixo no diretório do seu projeto: svn upgrade

Note que depois de ter upgraded to Subversion 1.7 you cannot go back to Subversion 1.6.

Consulte os documentos da Apple para obter mais detalhes.

Jayprakash Dubey
fonte