SVN – Erreur de fusion de réintégration: «doit être lié de manière ancestrale»

En utilisant TortoiseSVN – quand j’utilise Test Merge, j’obtiens l’erreur ” http: // mysvnserver / svn / main / twigs / ProjectA doit être lié à http: // mysvnserver / svn / main / trunk / ProjectB ”

Que puis-je faire pour résoudre ce problème?

Je viens de traverser un problème similaire, je voulais append le problème et la solution que je rencontrais. La twig a été créée à partir d’un sous-dossier de tronc et non de l’arbre entier. Ainsi, lorsque j’ai essayé de me réintégrer, je ne correspondais plus aux hiérarchies. Simplement restructurer l’intégration pour être dans le sous-dossier approprié de ma ligne réseau WD a permis au processus de se poursuivre.

En espérant que cela pourrait aider quelqu’un qui frappe ce Q / A. 🙂

Laissez-moi deviner: les projets ne sont pas liés? Cherchez l’histoire, si l’un d’entre eux a déjà été ramifié ou non.

Solution immédiate: fusionner par main ou essayer la ligne de commande avec “svn merge –ignore-ancestry”

Comme davebytes l’a mentionné, ce problème peut survenir lorsque vous twigz le trunk\X dans des twigs\Y , mais déplacez ensuite X dans un nouveau dossier Z , c’est-à-dire trunk\X\Z

Si vous essayez juste de fusionner un changement sur les twigs\Y dans le trunk\X , vous obtiendrez beaucoup de conflits; Si vous essayez juste de fusionner les twigs\Y dans le trunk\X\Z , vous obtiendrez l’erreur “liée à l’ancêtre”.

Mais le manuel SVN décrit le problème sous-jacent : svn merge devrait vraiment s’appeler svn diff-and-apply . Ce que vous devriez plutôt essayer de décrire dans ce scénario, c’est que vous essayez de résumer les changements survenus entre r100 et r200 de twigs\Y et d’appliquer ces modifications à un trunk\X\Z\ .

Dans TortoiseSVN, il s’agit du scénario de fusion de deux arborescences avec votre copie de travail locale de trunk\X\Z , avec r100 de twigs\Y défini comme “from” et r200 de twigs\Y défini sur “to”.

Nous avons rencontré ce problème à cause de ce qui suit:

Créé un dossier avec le navigateur repo de TortoiseSVN et l’a utilisé comme une twig. Ensuite, nous avons essayé de fusionner le dossier créé manuellement dans le dossier de travail.

La solution est la suivante: ne créez pas une twig manuellement en premier lieu, utilisez plutôt l’option TortoiseSVN -> Branch / tag … pour créer une twig.

J’espère que cela sera utile.

Au début, j’ai essayé de fusionner dans le dossier racine et j’ai obtenu l’erreur, puis j’ai parcouru le dossier spécifique où je voulais fusionner, puis j’ai sélectionné le bon dossier à fusionner.

Exemple,

Dans ma twig, j’ai une structure de projet:

  -Root - Code - DB 

J’ai créé une balise et changé dans le dossier DB de la balise. Maintenant, je veux apporter les modifications de la balise à la twig. Donc, je suis passé à ma twig et j’ai essayé de fusionner et j’ai eu l’erreur «doit être lié de manière ancestrale».

Donc, la solution était,

 I browsed to "DB" folder in branch, right click and select Tortoise SVN->Merge-> Merge a range of revisions -> 

Maintenant, depuis l’URL à fusionner, j’ai sélectionné:

 the "DB" folder from my tag. Then, "test branch". Everything worked fine :D 

Alors, j’ai cliqué sur le bouton “Fusionner”.

Cette erreur peut se produire si vous avez un fichier nommé exactement comme l’une des twigs (ou du tronc):

 # svn switch ^/trunk Updated to revision 123. # ls file1 file2 v1 # svn merge --reintegrate ^/twigs/v1 svn: E195016: ^/twigs/v1@123 must be ancestrally related to ^/trunk/v1@123 

Pour résoudre ce problème, ajoutez le répertoire actuel à la commande (notez le point):

 # svn merge --reintegrate ^/twigs/v1 . 

Ceci est un exemple réel, cela m’a coûté quelques heures très désagréables. 🙁

Je fusionnais avec un autre projet. Causé ce problème. J’ai fusionné avec la bonne twig, alors ça a bien fonctionné. Mon mal, la dyslexie

J’ai eu la même erreur et la raison était à propos des permissions.

Le problème était qu’un développeur essaie d’intégrer les modifications d’une twig avec laquelle il a un access en lecture / écriture à une autre, il a également un access en lecture / écriture, mais la dernière est une twig créée avec une autre lecture.

Voici la structure avec des permissions (r = read, w = write):

tronc (r) developper (r) QA (rw) twigs caractéristiqueBranch1 (rw)

Dans ce cas, le développement a été créé à partir de la jonction, QA de développer et featureBranch1 de développer. Le fait qu’il essaie de réintégrer featureBranch1 dans QA, une twig créée à partir du développement et qu’il n’a pas access en écriture pour développer, est dans notre cas le problème pourquoi il reçoit ce message lorsqu’il tente de réintégrer featureBranch1 dans QA.

Immédiatement après lui avoir donné access en écriture pour développer, le message disparaît.

J’ai eu le même problème. Je l’ai corrigé correctement avec cd sur lequel j’ai fusionné. Je fusionnais dans le répertoire path pour ne pas projeter dans le répertoire path vers le trunk (qui est l’ancêtre réel).