Pergunta

Eu tive um problema com a cometer mudanças após a fusão dois ramos do meu projeto usando o TortoiseSVN.

Aqui estão os detalhes:

Eu fiz um ramo de mesclagem para tronco de projecto que eu estou trabalhando.

Projeto inclui repositório principal e bibliotecas conjuntas para o repositório principal como svn externo (bibliotecas também são ramificados) como subdiretório de projecto .

Quando eu estava tentando cometer muda TortoiseSVN disse:

Commit A
re all the targets part of the same working copy? 
Unable to lock 'D:\websites\project\lib' 
Please execute the "Cleanup" command.

É claro Cleanup fez não ajuda.

svn:. Externa palavra-chave para projecto diretório foi bem definido, também lib pasta ainda continha a versão adequada de bibliotecas (versão tronco)

Tanto o servidor SVN e cliente estão em 1.5.x versão (TortoiseSVN é 1.5.3.x).

Do ponto de vista técnico, tanto projecto e bibliotecas são projetos no mesmo repositório SVN.

Qualquer idéia que deu errado?

Eu estava pesquisando um pouco para a solução, mas não encontrou nada de útil, então eu tentei cometer minhas alterações em duas etapas:

  1. confirmar as alterações de projeto de pasta
  2. confirmar as alterações de bibliotecas pasta

Qual foi sem problemas.

Mas eu ainda estou me perguntando por que eu não poderia cometer tudo em um commit.

edições:

  • (Após Ken G resposta) versão fixa do TortoiseSVN 1.3.x -.> 1.5.3.x
Foi útil?

Solução

svn: external irá causar Subversion para combinar diferentes caminhos de repositório no check-out, mas em última análise, esses caminhos ainda são 'disjuntos', então você tem que fazer dois commits para obter as alterações aplicadas.

Aqui está a citação relevante de Version Control com o Subversion

E o Subversion ainda realmente funciona apenas em nondisjoint cópias de trabalho. Assim, por exemplo, se você quer se comprometer mudanças que você fez em um ou mais dessas cópias de trabalho externas, você deve executar svn commit explicitamente Aqueles que trabalham cópias-cometer na cópia de trabalho não irá recorrer em qualquer queridos externos.

Outras dicas

1.3 do TortoiseSVN é muito antiga , a última revisão estar 1.5.x. Houve inúmeras mudanças tanto Subversion e TortoiseSVN desde 1.3, então atualizar seu cliente é provavelmente a sua melhor aposta.

Dito isto, 1,5 TortoiseSVN vai criar / Cópias atualização de Trabalho para um formato de versão 1.5. Tenha muito cuidado ao usar TortoiseSVN (ou qualquer cliente SVN) contra a cópia de trabalho do Subversion anterior.

Eu acho que eu lembro de ter lido sobre um bug relativo a este em TortoiseSVN que foi corrigido na versão mais recente. Confira as últimas notas de lançamento .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top