J'ai utilisé des branches SVN avec Tortoise 1.6. J'ai régulièrement fusionné le tronc dans la branche pour le maintenir à jour.
Aujourd'hui, j'ai pensé réintégrer la branche. J'ai choisi «Réintégrer une branche» de Tortoise et j'ai reçu le message d'erreur suivant:
La réintégration ne peut être utilisée que si les révisions 4709 à 5019 ont été précédemment fusionnées de http://subversion/svn/saxdev/trunk
la source de réintégration, mais ce n'est pas le cas
Il a ensuite répertorié environ 50 fichiers avec des descriptions telles que celle-ci:
Error: branches/qst/kobalt/sax/businessobjects/util/HistoryParent.java
Error: Missing ranges: /trunk/kobalt/sax/businessobjects/util/HistoryParent.java:4709-5018
La révision 5019 est la révision principale. La révision 4737 était la révision lorsque j'ai créé une branche.
J'ai ceci du journal pour la révision 4737
Action: Ajout du chemin: / branches / qst Copie du chemin: / trunk
Pour moi, ce message d'erreur dit que la branche n'était pas à l'origine du tronc, ce qui n'est pas vrai.
Des idées?
la source
Réponses:
Si vous travaillez sur une branche et que vous l'avez mise à jour avec d'autres travaux, vous pourriez être perplexe lorsque vous créez une copie de travail du tronc et essayez de réintégrer votre branche si vous recevez un message comme celui-ci:
J'ai vu un certain nombre de solutions de contournement sur Google, mais elles m'ont rendu nerveux en tant que «hacks». Pour y remédier, j'ai décidé de faire exactement ce à quoi la subversion fait allusion dans le message. Je suis retourné dans ma branche et j'ai explicitement fusionné les révisions spécifiées:
Une fois que j'ai fait cela, j'ai pu revenir à la copie de travail du tronc et réintégrer la branche sans aucun problème.
J'espère que ça aide
la source
svn merge
cela depuis le coffre.[[Bien que ma solution ait fonctionné pour moi dans le passé, elle peut conduire à des résultats incorrects avec les clients SVN modernes. Dans notre cas, les erreurs de fusion semblaient être des sous-produits d'automatisations qui confondaient notre historique SVN et non une activité réelle. Je laisse cela ici pour la postérité, mais veuillez plutôt considérer la réponse acceptée. ]]
La solution pour moi était de supprimer tout
svn:mergeinfo
propriétés qui sont en quelque sorte attachées à des fichiers individuels dans la hiérarchie.Pour trouver les fichiers avec des informations de fusion, vous pouvez faire:
Ensuite, vous pouvez supprimer les propriétés mergeinfo:
Après avoir terminé cela, ma fusion s'est bien déroulée.
la source
Si vous essayez de réintégrer votre branche au tronc et que vous voyez des erreurs comme celle-ci de TortoiseSVN:
Cliquez sur le texte d'erreur et appuyez sur CTRL+ A, CTRL+ Cpour copier tout le texte.
Collez le texte dans la chaîne ici de ce script PowerShell:
Le script extrait les chemins relatifs des fichiers avec le problème mergeinfo et génère une liste de commandes pour corriger chacun d'eux.
Vous devrez peut-être modifier la
'userdata'
valeur en fonction de la structure de votre référentiel.Exécutez le script pour générer les commandes dont vous avez besoin pour supprimer le problème mergeinfos.
Dans cet exemple, le script produirait cette sortie:
À l'invite de commande, vous pouvez accéder à la base de la branche (myproject) et exécuter les commandes pour supprimer le problème mergeinfos.
Vous devriez voir une sortie comme celle-ci:
Comme dans la réponse de Gray , vous devez maintenant valider les changements dans la branche et essayer de vous réintégrer à nouveau. Cette fois, ça devrait marcher!
la source
\s+
pour le faire fonctionner pour vous?+
qu'il fallait pour que cela fonctionne pour moi. Dans mon cas, certaines lignes avaient deux espaces et d'autres trois, il fallait donc prendre en charge des nombres variables d'espaces. Je ne sais pas pourquoi j'ai changé l'espace en un\s
; ce n'était probablement pas nécessaire, alors désolé pour cette partie!+
car il vous a été utile.En fait, je l'ai corrigé en utilisant l'option "fusionner deux branches différentes" pour fusionner le tronc et la branche dans ma copie de travail. Ensuite, j'ai remis cela au coffre.
Merveilleux
la source
Quelque chose qui a fonctionné pour moi dans tortoise SVN: au lieu de fusionner toutes les révisions de la branche, choisissez une plage spécifique et sélectionnez manuellement toutes vos révisions dans la branche.
la source
Faites comme SVN vous le dit.
la source
Voir aussi ma réponse ici pour mon expérience dans un cas similaire. Je ne sais pas si c'est la source de votre problème, mais il semble que Subversion 1.8 ait des problèmes avec les informations de fusion lorsque deux changements s'annulent.
la source
J'ai rencontré ce problème. J'ai fait un journal SVN sur ma branche pour trouver où j'avais fusionné le tronc avec ma branche.
J'ai noté toutes les révisions.
J'ai ensuite fait la fusion de ma branche vers le tronc en spécifiant les révisions manuellement. J'ai spécifié toutes les plages pour exclure les révisions où j'ai fusionné le tronc. J'arrive à faire fusionner ma succursale.
J'ai dû faire quelques retours sur mergeinfo, mais j'ai fusionné mon code.
J'ai immédiatement supprimé ma succursale.
la source
J'ai eu cette erreur après avoir utilisé une vérification partielle d'une succursale. Je gardais la branche à jour avec le coffre, mais les révisions du coffre pour les parties de la branche qui n'étaient pas extraites n'étaient bien sûr pas mises à jour. Le correctif consistait à effectuer une extraction complète de la branche, puis à fusionner toutes les modifications du tronc. Après les avoir validés dans la branche, j'ai pu fusionner la branche avec le tronc avec succès.
la source
Vous avez ce problème
faites un clic droit sur la branche où vous souhaitez fusionner (mais obtenez ce message) et sélectionnez l'option "mettre à jour à la révision" puis sur la boîte de dialogue qui s'ouvre (capture d'écran ci-dessous) sélectionnez ces révisions et cliquez sur ok - une fois que toutes les révisions précédentes sont fusionnées, tu ne recevrais pas ce message
Ajouter ceci ici pour aider quelqu'un qui utilise Tortoise SVN
la source
Je sais que c'est un ancien message, mais j'avais également du mal à résoudre ce problème jusqu'à ce que je découvre que les fichiers répertoriés dans le message d'erreur ont un problème de propriété SVN.
J'ai fait un clic droit sur les fichiers perturbés: TortoiseSVN> Propriétés, et j'ai constaté que le fichier avait deux svn: mergeinfo, et l'un d'eux n'avait pas hérité des données. J'ai donc supprimé cette mergeinfo.
J'utilise TortoiseSVN 1.12.2, Build 28653 - 64 Bit.
la source