Resolvendo o conflito da árvore

84

Como resolver o conflito de árvores no cenário atual.

C:\DevBranch
C:\MyBranch

Eu atualizei os dois ramos. Editou MyBranch e depois cometeu de volta. Agora, deseja mesclar essas alterações no DevBranch. Quando estou fazendo a fusão, recebo 'Conflitos de árvores'

The last merge operation tried to add the file 'abc.def', but it was already added locally.

How do you want to resolve this conflict?
Keep the file from repository
Keep the local file

Como posso resolver?

coure2011
fonte

Respostas:

168

O que você pode fazer para resolver o seu conflito é

svn resolve --accept working -R <path>

Onde <path> é onde você tem o seu conflito (pode ser a raiz do seu repo).

Explicações:

  • resolvepede svnpara resolver o conflito
  • accept working especifica para manter seus arquivos de trabalho
  • -R significa recursivo

Espero que isto ajude.

EDITAR:

Para resumir o que foi dito nos comentários abaixo:

  • <path>deve ser o diretório em conflito ( C:\DevBranch\no caso do OP)
  • é provável que a origem do conflito seja
    • ou o uso do svn switchcomando
    • ou tendo marcado a Switch working copy to new branch/tagopção de criação de filial
  • mais informações sobre conflitos podem ser encontradas na seção dedicada da documentação do Tortoise .
  • para poder executar o comando, você deve ter as ferramentas CLI instaladas junto com o Tortoise:

Ferramentas de cliente de linha de comando

Yannick Blondeau
fonte
qual deve ser o caminho? C: \ DevBranch ou C: \ MyBranch?
abril de 2011,
2
Deve ser C:\DevBranch. BTW, você usou o svn switchcomando em uma dessas duas pastas?
Yannick Blondeau
1
Acho que, ao criar o branch, usei "alternar diretório de trabalho '
coure2011
@Luke Você pode fazer assim se instalou as ferramentas CLI junto com o Tortoise. Basta cdacessar a raiz da sua cópia de trabalho e executar svn resolve --accept working -R ./. Se precisar de mais informações sobre como fazer isso com o Tortoise, você pode verificar a seção dedicada da documentação ... Espero que ajude!
Yannick Blondeau
0

Basicamente, os conflitos de árvore surgem se houver alguma reestruturação na estrutura de pastas no branch. Você precisa excluir a pasta de conflito e usar svn cleanuma vez. Espero que isso resolva seu conflito.

Ujjwal Raj Shah
fonte