Subversion COPY / MOVE - Arquivo não encontrado: transação 'XXX-XX'

5

Estou tentando criar uma ramificação em um dos meus repositórios do subversion e continuar com um erro. Não importa o que é feito, eu continuo recebendo o seguinte:

File not found: transaction '3062-2e6', path '/Software/XXXXXX/branches/testbranch'

Eu notei que a primeira parte do '3063-3e6' na mensagem acima é a última revisão confirmada com sucesso no repositório. Meus logs do apache não fornecem muito mais informações:

[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] Could not MOVE/COPY /svn/p070361/!svn/bc/3049/Software/SXXXXXX/trunk.  [404, #0]
[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] Unable to make a filesystem copy.  [404, #160013]
[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] File not found: transaction '3059-2e2', path '/Software/XXXXXX/branches/testbranch'  [404, #160013]

Isso tudo está acontecendo em um servidor com um frontend nginx que faz proxy para o Apache para os bits de subversão. Outros repositórios são capazes de se ramificar bem e eu consegui criar o branch usando file: /// da linha de comando no servidor em que isso está ocorrendo. As permissões neste repositório correspondem a todos os outros repositórios e o espaço em disco não é um problema.

    
por Steve Platz 24.11.2010 / 20:51

3 respostas

9

Provavelmente sua estrutura svn não possui diretório "Software / XXXXXX / branches", ela deve existir para criar "testbranch" aqui. Você deve criar este diretório ("branches") pelas mãos e então fazer um branch.

    
por 13.06.2012 / 12:18
6

Esta mensagem de erro inútil pode ocorrer se os subdiretórios no caminho de destino ainda não existirem. Embora você possa criá-los manualmente (com svn mkdir ), é mais fácil usar a opção --parents .

    svn cp ^/trunk/bigproject ^/branches/experimental/bigproject -m 'test branch'

Se branches ou experimental não existisse, o comando falharia. Isso deve funcionar:

    svn cp --parents ^/trunk/bigproject ^/branches/experimental/bigproject -m 'test branch'
    
por 15.03.2016 / 18:44
-1

Eu sei que esta não é a resposta direta para seus problemas, mas se você quiser trabalhar com ramificações eficientemente, você deve considerar o uso de outros sistemas de controle de versão, como git, mercurial ou bazzar.

Ou se você não quiser fazer a migração completa, você pode usar o git-svn como um "front-end" do seu repositório svn, eu recomendo que você leia isto para saber mais sobre o git-svn.

    
por 24.11.2010 / 21:19