Résolution des conflits d'arbres

84

Comment résoudre les conflits d'arbres dans le scénario actuel.

C:\DevBranch
C:\MyBranch

J'ai mis à jour les deux branches. Edité MyBranch et ensuite validé. Je veux maintenant fusionner ces modifications dans DevBranch. Quand je fais la fusion, je reçois des `` conflits d'arbres ''

The last merge operation tried to add the file 'abc.def', but it was already added locally.

How do you want to resolve this conflict?
Keep the file from repository
Keep the local file

Comment puis-je résoudre?

coure2011
la source

Réponses:

167

Ce que vous pouvez faire pour résoudre votre conflit est

svn resolve --accept working -R <path>

<path>est l'endroit où vous avez votre conflit (peut être la racine de votre repo).

Explications:

  • resolvedemande svnde résoudre le conflit
  • accept working spécifie de conserver vos fichiers de travail
  • -R signifie récursif

J'espère que cela t'aides.

ÉDITER:

Pour résumer ce qui a été dit dans les commentaires ci-dessous:

  • <path>devrait être le répertoire en conflit ( C:\DevBranch\dans le cas de l'OP)
  • il est probable que l'origine du conflit soit
    • soit l'utilisation de la svn switchcommande
    • ou avoir coché l' Switch working copy to new branch/tagoption lors de la création de la branche
  • plus d'informations sur les conflits peuvent être trouvées dans la section dédiée de la documentation de Tortoise .
  • pour pouvoir exécuter la commande, vous devez avoir les outils CLI installés avec Tortoise:

Outils client en ligne de commande

Yannick Blondeau
la source
quel devrait être le chemin? C: \ DevBranch ou C: \ MyBranch?
coure2011
2
Ça devrait être C:\DevBranch. BTW, avez-vous utilisé la svn switchcommande sur l'un de ces deux dossiers?
Yannick Blondeau
1
Je pense que lors de la création de la branche, j'ai utilisé "changer de répertoire de travail"
coure2011
@Luke Vous pouvez le faire comme ceci si vous avez installé les outils CLI avec Tortoise. Juste cdà la racine de votre copie de travail et exécutez svn resolve --accept working -R ./. Si vous avez besoin de plus d'informations sur le faire avec Tortoise, vous pouvez consulter la section dédiée de la documentation ... J'espère que cela vous aidera!
Yannick Blondeau
0

Fondamentalement, des conflits d'arborescence surviennent en cas de restructuration de la structure des dossiers sur la branche. Vous devez supprimer le dossier de conflit et l'utiliser svn cleanune fois. J'espère que cela résout votre conflit.

Ujjwal Raj Shah
la source