Subversion: que signifie “Le chemin cible n'existe pas” lorsque fusionner signifie?
Question
Utilisation de la sous-version 1.5 J'ai la branche B qui a été dérivée de la branche A. Après avoir travaillé dans les deux branches, je vais fusionner les modifications de A en B (avec svn merge http: // chemin / vers / A
dans le répertoire de travail de B) et obtenez svn: le chemin cible n'existe pas
. Qu'est-ce que cela signifie?
La solution
Cela signifie qu’un fichier de la branche A a été modifié et que Subversion a tenté de le fusionner avec la branche B, mais que le fichier n’existe pas dans la branche B; il n’a donc aucun endroit où fusionner la modification. Par exemple:
- Créer une branche B
- Modifier A / README
- Supprimer B / README
- Fusionner A - > B
La modification de README ne peut pas être appliquée dans la branche B, car le fichier y a été supprimé.
EDIT: cela entraînera un conflit d'arborescence dans Subversion 1.6.
Autres conseils
Je recevais cette erreur avec svn 1.5.4 même en l'absence de modifications incompatibles. La mise à niveau vers la version 1.5.5 a corrigé le problème.
J'ai eu ce problème parce que ma malle et la branche avaient une histoire étrange.
Comme ceci:
/---------\
trunk -------+---+ +---\
\-----------BOOM!
Fusion de tronc - > branche n'a pas fonctionné.
branche de fusion - > le tronc a bien fonctionné.
/---------\
trunk -------+---+ +---+-----
\---------/
Probablement parce que la malle contenait de meilleures informations sur le dernier ancêtre qu’ils partageaient.
Dans mon cas, je n'étais pas prêt à fusionner dans le coffre, mais j'ai pu créer une nouvelle branche à partir du coffre et y fusionner mon ancienne branche.
/---------\
trunk -------+---+ +---+-------
\ \---+--
\-------------/