Mensagem de erro de intervalos ausentes ao reintegrar uma ramificação no tronco na subversão 1.5

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

Pergunta

Estou tentando reintegrar uma filial de desenvolvimento no porta -malas do meu repositório de subversão 1.5. Mescrei todas as alterações do porta -malas para a filial de desenvolvimento antes desta operação. Agora, quando tento reintegrar as alterações do ramo, recebo a seguinte mensagem de erro:

Command: Reintegrate merge https://dev/svn/branches/devel into C:\trunk  
Error: Reintegrate can only be used if revisions 280 through 325 were previously   
Error: merged from https://dev/svn/trunk to the reintegrate   
Error: source, but this is not the case:  
Error:   branches/devel/images/test  
Error:     Missing ranges: /trunk/images/test:280-324  
...

A mensagem continua reclamando de algumas pastas do meu projeto. Mas quando tento mesclar as mudanças do porta -malas para o ramo de desenvolvimento novamente, o Tortoisesvn me diz que não há nada para mesclar (como eu já fundi todas as mudanças antes):

Command: Merging revisions 1-HEAD of https://dev/svn/trunk into C:\devel, respecting ancestry  
Completed: C:\devel  

Estou tentando seguir as instruções daqui: http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html, mas não há nada em resolver esse problema.

Alguma ideia? Talvez eu deva excluir o porta -malas e depois fazer uma cópia do meu ramo? Mas não tenho certeza se é seguro.

Veja também

Svn se fundem com -Reintegate reclama de faixas ausentes, mas Mergeinfo parece correto

Foi útil?

Solução

Você precisa mesclar as revisões R280 a R324 do porta -malas para o seu ramo primeiro.

Parece que você já fundiu o R325 em seu ramo, no entanto -a reintegração precisa obter tudo Revisões até a sua última revisão mesclada. Não deve haver lacuna. Então aqui um pouco de diag:

           +----------------------> /branches/devel
          /                    /   \<--merge not working!
 --------/-------+--+---+-----+---------> trunk
         |       \  |  /      |
        280       \ V /      325
                    V
                  missing sync merges from trunk to branch

Eu acho que essa é a sua estrutura de ramificação, então você precisa sincronizar todas as mudanças do tronco para o seu ramo. Você mesclou apenas R325, então apenas mesclará R280-R324 e depois de fazer isso, você deve estar bem em usar-Reintegrar

Outras dicas

Lutamos com esse problema por algumas semanas e finalmente a resolvemos.

No nosso caso, trabalhamos em um ramo que foi fundido com todas as revisões de tronco diariamente. Quando tentamos reintegrá -lo (mesclar de volta ao tronco), recebemos esse erro. Quando tentamos mesclar os intervalos que faltavam em nosso ramo, recebemos uma mensagem de que não há nada para se fundir. Aconteceu em várias filiais não relacionadas e com diferentes arquivos e pastas.

A solução foi adicionar os intervalos ausentes à propriedade SVN: Mergeinfo do arquivo ou pasta em nossa filial.

Para cada linha "Falta intervalos: caminho: revision_range" na mensagem que você recebeu:

  • Edite a propriedade SVN: Mergeinfo em arquivo/pasta mencionado na filial mesclada
  • Anexe o seguinte: String no final do valor da propriedade (por exemplo, tronco/imagens/teste: 280-324)
  • Salvar a propriedade SVN

Cometer todas as mudanças e reintegrar novamente

Eu tive esse problema e, em última análise, foi causado pelas propriedades errôneas do SVN contra uma pasta no meu ramo.

A solução foi fácil - me fundi do tronco para o meu ramo usando o número de revisão específico que havia sido relatado como faltando, por exemplo

enter image description here

E depois especificar para registrar apenas a fusão, por exemplo

enter image description here

Essa ação corretamente alinhou minha filial com o tronco, e minha reintegração subsequente de ramificação no tronco funcionou com sucesso, sem a mensagem de erro dos intervalos ausentes.

Essa técnica evitou qualquer edição manual de qualquer propriedade SVN: Mergeinfo contra quaisquer arquivos/pastas.

Parei de obter esses problemas quando comecei a usar a opção -r para o comando de mesclagem SVN e não tentei fazer o -Reintegrar até depois de me fundir sem ele. Estou usando o SVN 1.6.1.

Aqui está o que eu faço:
1. Ao se fundir de galho para tronco ou porta -malas para ramificar, uso a opção -r como esta:

 cd branchWorkArea/topDir
 svn merge -r<branchPoint>:HEAD [otheroptions] svn://svn/project/trunk/topDir
  1. Quando resolvi algum conflito e testei meu código, comprometei a fusão com a filial e, em seguida, mesclava a filial no porta -malas usando as mesmas opções básicas (especialmente -rbranchpoint: Head)

  2. Quando o porta -malas é testado e comprometido, eu uso a opção -Reintegrar para o fechamento da filial. Certifique -se de usar a opção -rbranchpoint: Head também.

Para outras opções, eu sempre uso

-Infinito profundidade (padrão para o infinito em 1.6.2, mas não antes)
-x -b -x -w --ignore -eol estilo

Talvez eu tenha tido sorte, mas as coisas com certeza parecem funcionar melhor.

Para encontrar o ponto de ramificação de uma ramificação, você faz um log SVN-Stop-on-Copy e, em seguida, observe a última revisão-será a cópia SVN que criou a ramificação.

Para fazer isso no Linux, eu faço algo assim:

SVN LOG--STOP-ON COPY SVN: // SVN/Project/Trunk/Topdir |
grep '^r' | cauda -1 | sed -e 's/^r // 1' -e' s/.*// g '

Isso deve imprimir o número de revisão do ponto de ramificação.

Boa sorte

Isso não é uma resposta, mas uma pergunta esclarecedora.

Minha mensagem de erro é:

Reintegrate can only be used if revisions 2669 through 3403 were previously merged from
https://../schemas
to the integrate source, but this is not the case:
trunk/schemas:
Missing ranges:
../schemas:2673,2682,2720,2736,2878,2960,3003,3057

Mescrei as revisões usando a solução fornecida pelo @Greg Trevellick, ainda recebendo a mensagem de erro.

Quando abro a propriedade SVN: Mergeinfo seguindo a resposta de @pako na pasta Schemas, o conteúdo se parece

/branches/repos_develop_os/trunk_branch-os/schemas:3329
/trunk/schemas:2669-2673,2682,2720,2736,2878,2960,3003,3057

Não tenho certeza de como devo modificar esse conteúdo. Parece que os intervalos ausentes estão todos lá.

Acabei de ter esse problema e o que funcionou para mim foi antes de tudo, sincronizar a filial com o porta -malas, para que o ramo possa ter as atualizações mais recentes do porta -malas. Depois disso, tentei reintegrar o ramo para o porta -malas e funcionou bem.

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