SVN - la Réintégration de Fusion d'erreur: “doit être ancestralement liés”
En utilisant TortoiseSVN - lorsque j'utilise la Fusion de Test, j'obtiens l'erreur "http://mysvnserver/svn/main/branches/ProjectA doit être ancestralement liées à http://mysvnserver/svn/main/trunk/ProjectB"
Que puis-je faire pour résoudre ce problème?
- Avez-vous résoudre ce problème? J'ai le même problème, je veux réintégrer une branche créé à partir du tronc à même le tronc.
Vous devez vous connecter pour publier un commentaire.
Je suis juste allé à travers un problème similaire, a voulu ajouter du problème et de la solution que j'ai frappé. La direction générale a été faite à partir d'un sous-dossier du tronc et pas la totalité de l'arbre. Ainsi, quand j'ai essayé de le réintégrer, j'ai été le décalage des hiérarchies. Simplement la restructuration de l'intégrer à être à la bonne sous-dossier de mon tronc DEO a permis le processus à suivre.
L'ajout dans l'espoir que cela pourrait aider quelqu'un qui frappe ce Q/A. 🙂
Laissez-moi deviner: les projets ne sont pas liés? Regardez l'histoire, si l'un d'eux ne l'a jamais été ramifiés ou non.
Solution immédiate: fusionner par la main ou essayer en ligne de commande avec "svn merge --ignore-ascendance"
Comme davebytes mentionné, ce problème peut se produire lorsque vous branche
trunk\X
enbranches\Y
, mais alors déplacerX
dans un nouveau dossierZ
, c'est à diretrunk\X\Z
.Si vous essayez de fusionner un changement sur
branches\Y
entrunk\X
, vous aurez beaucoup de conflits; si vous essayez de fusionnerbranches\Y
entrunk\X\Z
, vous obtiendrez le "ancestralement" liés à l'erreur.Mais, le SVN manuel décrit le problème sous-jacent:
svn merge
devrait vraiment être appelésvn diff-and-apply
. Ce que vous devriez plutôt essayer de décrire dans ce scénario, c'est que vous êtes en essayant de résumer les changements qui se sont produits à partir de r100 pour r200 debranches\Y
, et d'appliquer ces modifications àtrunk\X\Z\
.Dans TortoiseSVN, c'est le fusion de deux arbres différents scénario de votre copie de travail locale de
trunk\X\Z
, avec r100 debranches\Y
définir comme "de", et r200 debranches\Y
définir comme "à".Nous avons rencontré ce problème pour les raisons suivantes:
Créé un dossier avec l'explorateur de dépôt de TortoiseSVN et l'a utilisé comme une branche. Ensuite, nous avons essayé de fusionner manuellement le dossier créé dans le dossier de travail.
Solution: Ne pas créer une branche manuellement en premier lieu, au lieu d'utiliser la commande TortoiseSVN -> Branche/étiquette... possibilité de créer une branche.
J'espère que cela sera utile.
J'ai d'abord essayé de fusionner dans le dossier racine et obtenu l'erreur, puis j'ai parcouru le dossier où j'ai voulu fusionner, puis sélectionné le dossier de la fusion à partir d'.
Exemple,
Dans ma branche, j'ai de la structure de projet:
J'ai créé une balise et modifié dans la base de données dossier de la balise. Maintenant, je tiens à apporter les modifications de la balise de la branche. Donc, je suis passé à ma branche et essayé de fusionner et obtenu l'erreur “doit être ancestralement liées”.
Donc la solution a été,
Maintenant, à partir de l'URL de la fusion à partir d', j'ai choisi:
Puis j'ai cliqué sur le "Merge" bouton.
Cette erreur peut se produire si vous avez un fichier nommé exactement comme l'une des branches (ou tronc):
Pour résoudre ce ajouter du répertoire courant de la commande (notez le point):
C'est un exemple réel, il coûtait m'couple de très désagréable heures. 🙁
J'ai été la fusion avec un autre projet. La cause de ce problème. J'ai fusionné avec la branche correcte alors il a bien fonctionné. My bad, la dyslexie
J'ai eu le même message d'erreur et la raison en était sur les autorisations.
Le problème était que l'un développeur tente d'intégrer des modifications d'une branche, il a accès en lecture/écriture à un autre, il a également a accès en lecture/écriture, mais le dernier est une branche créée à partir d'une autre branche qui il a juste un accès en lecture.
Voici la structure avec des autorisations (r = lu, w = write):
tronc (r)
développer (r)
Assurance de la qualité (rw)
les branches
featureBranch1 (rw)
Dans ce cas, de développer a été créé à partir du tronc, QUALITÉ de développer et de featureBranch1 de se développer. Le fait qu'il essayer de réintégrer les featureBranch1 en QA, qui était une filiale créée à partir d'élaborer et qu'il n'y ai pas accès en écriture à développer, dans notre cas, le problème pourquoi il recevoir ce message lorsque vous essayez de le réintégrer featureBranch1 l'assurance de la qualité.
Immédiatement après lui avoir accès en écriture à développer, le message disparaît.
J'ai eu le même problème. Je l'ai fixée par correctement cd sur lequel j'ai fusionné. J'ai été la fusion dans le chemin d'accès du répertoire de projet n'est pas dans le répertoire du chemin d'accès au coffre ( qui est le véritable ancêtre).