Utilizando ramificações SVN com o Tortoise 1.6. Fui periodicamente mesclando o tronco no ramo para mantê-lo atualizado.
Hoje, pensei em reintegrar o ramo. Eu escolhi "Reintegrar um ramo" do Tortoise e recebi a seguinte mensagem de erro:
A reintegração só pode ser usada se as revisões 4709 a 5019 foram mescladas anteriormente http://subversion/svn/saxdev/trunk
à fonte de reintegração, mas esse não é o caso
Em seguida, listou cerca de 50 arquivos com descrições como esta:
Error: branches/qst/kobalt/sax/businessobjects/util/HistoryParent.java
Error: Missing ranges: /trunk/kobalt/sax/businessobjects/util/HistoryParent.java:4709-5018
A revisão 5019 é a revisão principal. A revisão 4737 foi a revisão quando criei uma ramificação.
Eu tenho isso no log de revisão 4737
Ação: Caminho adicionado: / branches / qst Copiar do caminho: / trunk
Para mim, essa mensagem de erro diz que o ramo não era originalmente do tronco, o que não é verdade.
Alguma ideia?
fonte
Respostas:
Se você estiver trabalhando em uma ramificação e estiver mantendo-a atualizada com o trabalho de outras pessoas, poderá ficar confuso ao criar uma cópia de trabalho do tronco e tentar reintegrar sua ramificação se receber uma mensagem semelhante a esta:
Eu já vi várias soluções alternativas no Google, mas elas me deixaram nervoso como 'hacks'. Para resolvê-lo, decidi fazer exatamente o que o subversion está sugerindo na mensagem. Voltei ao meu ramo e mesclei explicitamente as revisões especificadas:
Depois de fazer isso, consegui retornar à cópia de trabalho do tronco e reintegrar o ramo sem problemas.
Eu espero que isso ajude
fonte
svn merge
para o tronco.[[Embora minha solução tenha funcionado para mim no passado, ela pode levar a resultados inadequados com os clientes modernos de SVN. No nosso caso, os erros de mesclagem pareciam ser subprodutos de automações que estavam confundindo nosso histórico de SVN e não uma atividade real. Estou deixando isso aqui para posteridade, mas considere a resposta aceita. ]]
A solução para mim foi remover quaisquer
svn:mergeinfo
propriedades que de alguma forma se anexassem a arquivos individuais na hierarquia.Para encontrar os arquivos com informações sobre o mergeinfo, você pode:
Em seguida, você pode remover as propriedades mergeinfo:
Depois de concluir isso, minha mesclagem foi executada corretamente.
fonte
Se você tentar reintegrar sua ramificação ao tronco e vir erros como este no TortoiseSVN:
Clique no texto do erro e pressione CTRL+ A, CTRL+ Cpara copiar todo o texto.
Cole o texto na string here deste script do PowerShell:
O script extrai os caminhos relativos dos arquivos com o problema mergeinfo e gera uma lista de comandos para corrigir cada um.
Pode ser necessário alterar o
'userdata'
valor para se adequar à sua estrutura de repositório.Execute o script para gerar os comandos necessários para remover o problema mergeinfos.
Neste exemplo, o script produziria esta saída:
No prompt de comando, você pode navegar para a base da ramificação (myproject) e executar os comandos para excluir o problema mergeinfos.
Você deve ver uma saída como esta:
Como na resposta de Gray , agora você deve confirmar as alterações no ramo e tentar se reintegrar novamente. Desta vez deve funcionar!
fonte
\s+
para fazê-lo funcionar para você?+
necessário para que funcionasse para mim. No meu caso, algumas linhas tinham dois espaços e outras três, portanto, era necessário suporte para números variáveis de espaços. Não sei por que mudei o espaço para a\s
; que provavelmente não era necessário, desculpe-me por essa parte!+
desde que foi útil para você.Na verdade, eu o corrigi usando a opção "mesclar duas ramificações diferentes" para mesclar o tronco e a ramificação na minha cópia de trabalho. Então eu comprometi isso com o porta-malas.
Maravilhoso
fonte
Algo que funcionou para mim no SVN de tartaruga: em vez de mesclar todas as revisões da ramificação, escolha um intervalo específico e selecione manualmente todas as suas revisões na ramificação.
fonte
Faça o que o SVN está lhe dizendo.
fonte
Veja também minha resposta aqui para minha experiência com um caso semelhante. Não tenho certeza se essa é a fonte do seu problema, mas parece que o Subversion 1.8 tem problemas com o mergeinfo quando duas alterações se cancelam.
fonte
Eu me deparei com esse problema. Eu fiz um log SVN na minha filial para descobrir se havia mesclado o tronco à minha filial.
Anotei todas as revisões.
Fiz então a mesclagem do meu ramo no tronco, especificando as revisões manualmente. Especifiquei todos os intervalos para excluir as revisões em que mesclei o tronco. Eu consigo mesclar minha filial.
Eu tive que fazer algumas reviravoltas no mergeinfo, mas consegui mesclar meu código.
Eu imediatamente apaguei meu ramo.
fonte
Eu recebi esse erro depois de usar uma verificação parcial de uma ramificação. Eu estava mantendo o ramo atualizado com o tronco, mas as revisões do tronco para partes do ramo que não foram retiradas foram obviamente não atualizadas. A correção era fazer um check-out completo da ramificação e mesclar todas as alterações de tronco. Depois de enviá-las para o ramo, eu poderia mesclar o ramo ao tronco com sucesso.
fonte
Tenho esse problema em
clique com o botão direito do mouse na ramificação em que deseja mesclar (mas receba esta mensagem) e selecione a opção "atualizar para revisão" e, na caixa de diálogo exibida (captura de tela abaixo), selecione essas revisões e clique em ok - depois que todas as revisões anteriores forem mescladas, você não receberia esta mensagem
Adicionando isso aqui para ajudar alguém que está usando o Tortoise SVN
fonte
Sei que essa é uma postagem antiga, mas estava lutando para resolver esse problema até descobrir que os arquivos listados na mensagem de erro têm um problema de propriedade SVN.
Cliquei com o botão direito do mouse nos arquivos problemáticos: TortoiseSVN> Properties e descobri que o arquivo tinha dois svn: mergeinfo, e um deles não tinha herdado dos dados. Então eu removi essa mergeinfo.
Eu uso o TortoiseSVN 1.12.2, Build 28653 - 64 Bit.
fonte