SVN de fusion entre les deux branches - “chemin d'accès introuvable”
J'en ai deux branches (les enfants de tronc) qui doivent être fusionnées en une seule branche pour les tests, mais ils ne peuvent pas aller dans le tronc. Les deux branches sont à jour avec le tronc@TÊTE. Donc je veux aller à partir de ce:
__________________trunk
\___duck \
\___beaver
:
__________________________trunk
\
\______________platypus
J'ai créé la direction de l'ornithorynque à partir de la dernière version de tronc, et suis en train de fusionner le canard et le castor dans cette nouvelle copie de coffre:
svn copy ^/trunk ^/branches/platypus;
svn switch ^/branches/platypus;
svn merge --reintegrate ^/branches/duck;
svn merge --reintegrate ^/branches/beaver;
mais la fusion ops échouer
svn: '/blah/!svn/bc/12047/repo/branches/duck' path not found
Si j'essaie d' --réintégrer les cuisses de canard (ou de castor) dans le tronc, il fonctionne très bien. Ce qui me manque ici?
le canard, le castor, le plutypus - très drôle
OriginalL'auteur Mathew | 2012-10-03
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même message d'erreur et a été en mesure de le résoudre par spécifiant manuellement tous les numéros de révision je voulais fusionner plutôt que de laisser SVN décider. Cela a permis la fusion pour continuer et m'a incité, pour des conflits de fusion, comme prévu.
J'ai été en utilisant TortoiseSVN pour choisir les révisions à la main, mais je suppose qu'à l'aide de la commande SVN en ligne, il serait quelque chose comme:
Puis notez tous les numéros de révision et de les fusionner en une seule fois, par exemple:
Note pour TortoiseSVN les utilisateurs: Vous pouvez ouvrir le journal sur la branche source (castor/canard), sélectionnez les révisions que vous souhaitez fusionner et de copier les numéros de révision de la carte de clip en utilisant le menu contextuel. De cette façon, vous n'avez pas à extraire manuellement les numéros quelque part
svn log --stop-on-copy
ne vous donnera pas toutes les révisions si la branche a été copié (ou ramifié, de nouveau, après la ramification detrunk
. Dans ce cas, vous n'avez pas d'autre option que de comparer les journaux. Voir stackoverflow.com/a/51933172/2279059OriginalL'auteur wardies
J'ai eu un problème similaire réintégrer une branche qui avaient été fusionnés à partir d'une autre branche (désormais réintégrés). Comme ceci:
Il ne semble pas être possible de réintégrer le canard, le chemin d'accès pas trouvé d'erreur se plaignait r4, mais j'ai pu fusionner les révisions spécifiques (r5-r9) de canard avec le tronc.
OriginalL'auteur andrew lorien
Je l'ai résolu comme suit:
Fusionné la problématique des branches sur le tronc
Créé de nouveaux "états" de la branche du tronc
Est revenue tronc à son état avant l'étape 1 et engage la réversion
Enregistrement fusionné seulement à partir de l'étape 3 de la direction générale
Testé par la fusion d'un nouveau regroupement de branche avec le tronc, mais n'a pas commis, bien sûr,
Résultat final est une nouvelle branche contenant les modifications de la fonction des branches et du tronc inchangé (mais, hélas, avec quelques nouvelles entrées dans le journal).
OriginalL'auteur Stephen Kennedy
Cela se produit parce que SVN ne sais pas laquelle des révisions à la fusion, probablement en raison de fusion de l'information est manquante ou endommagée.
Trouver l'ancêtre commun (commune de s'engager avec la plus grande révision X) entre les deux branches en comparant les journaux:
Fusionner toutes les modifications de cette révision de X à l'actuel chef:
REMARQUE: La accepté de répondre suggère d'utiliser
--stop-on-copy
pour trouver l'ancêtre commun. Même si cela peut parfois trouver la bonne révision (p. ex., où les branchesduck
etbeaver
des branches à partir detrunk
, il ne vous donne pas un ancêtre commun, si il y a eu dessvn copy
des opérations dans les branches APRÈS qu'ils ont été créés. Si vous savez que ce n'est jamais arrivé, alors vous pouvez utiliser--stop-on-copy
.OriginalL'auteur Florian Winter
Essayez d'utiliser le --ignore-ascendance option lors de la fusion. Il pourrait être la fusion de l'histoire est incomplète (probablement en raison de tortue ou d'un client pour qui les faits) et de quelque chose qui a été fait sur la branche est d'essayer d'être appliqué à la copie de travail lorsque vous faites un "normal" de fusion.
OriginalL'auteur Anshu