Subversão: O que significa “Path Alvo não existe” quando a fusão significa?

StackOverflow https://stackoverflow.com/questions/212713

  •  03-07-2019
  •  | 
  •  

Pergunta

Usando a subversão 1.5, tenho o ramo B, que foi ramificado da filial A. Depois de trabalhar nos dois ramos, vou mesclar mudanças de A em B (usando svn merge http://path/to/A no diretório de trabalho de b) e obtenha svn: Target path does not exist. O que isto significa?

Foi útil?

Solução

Isso significa que houve uma alteração em um arquivo na ramificação A que a subversão tentou se fundir na filial B, mas o arquivo não existe na filial B, portanto, não tem lugar para mesclar a alteração. Por exemplo:

  • Crie ramo b
  • Mudar A/ReadMe
  • Exclua b/readme
  • Mesclar a -> b

Agora, a alteração no ReadMe não pode ser aplicada na filial B, porque o arquivo foi removido lá.

Editar: isso resultará em um conflito de árvores na subversão 1.6.

Outras dicas

Eu estava recebendo esse erro com o SVN 1.5.4, mesmo quando não houve alterações incompatíveis. Atualizando para 1.5.5 Corrigido para mim.

Eu tive esse problema porque meu porta -malas e o ramo tinham uma história estranha.

Assim:

              /---------\
trunk -------+---+       +---\
                  \-----------BOOM!

Mesclagem de tronco -> ramo não funcionou.

Fusão de fusão -> Trunk funcionou.

              /---------\
trunk -------+---+       +---+-----
                  \---------/

Provavelmente porque o porta -malas tinha informações melhores sobre o último ancestral que eles compartilharam.

No meu caso, eu não estava pronto para me fundir de volta ao Trunk, mas pude criar um novo ramo do porta -malas e mesclar meu antigo ramo lá.

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