web-dev-qa-db-fra.com

Comment gérer les conflits d'arborescence lors de la fusion à l'aide de TortoiseSVN, dans le cas d'un dossier supprimé?

J'ai ce scénario:

  • Un dossier avec le contenu est supprimé de la copie locale de notre succursale. Les modifications sont validées dans SVN Branch. (Nous avons toujours ce dossier dans le coffre)
  • Maintenant, je veux tout fusionner de la branche au tronc
  • Je vais à la copie locale de Trunk, Merge de SVN, et je choisis notre branche (fusionnant d'abord les changements de SVN-Branch à LocalCopy-Of-Trunk)
  • Conflit d'arbre apparaît
  • Je ferme la fenêtre tortoiseSVN et accède à la structure des dossiers dans l'Explorateur.
  • Le dossier est là (mais marqué comme étant en conflit dans SVN)
  • Je supprime la structure du dossier manuellement (puisque c'est ce que je veux, je veux juste)
  • Je vais à TortoiseSVN clic droit-> TortoiseSVN-> Résolu, là je vois le conflit, je marque ceci comme résolu, et cliquez sur OK.

Est-ce que c'est la bonne façon de le faire?

En ce moment même, chaque fois que je veux faire plus avec SVN dans la même racine, je vois cette erreur:

Erreur: suivi de fusion non autorisé avec les sous-arbres manquants; essayer de restaurer des éléments

Lorsque je veux valider toutes les choses que j'ai fusionnées localement (de SVNBranch à LocalCopyOfTrunk) dans Trunk, je vois le dossier problématique et son contenu avec le statut manquant. Je marque toutes les choses que je veux valider (sans ces choses manquantes), cliquez sur OK et obtenez cet avertissement:

Validation non récursive des dossiers déplacés/renommés (cette validation n'est pas récursive et des dossiers déplacés/renommés sont sélectionnés pour la validation. Ces déplacements/renommages sont toujours effectués de manière récursive dans le référentiel. Voulez-vous quand même valider?)

Lorsque j'ouvre le dossier parent de la racine problématique, TortoiseSVN-> Revert, et que je les rétablis, le SVN s'exécute à nouveau sans problème. Mais comment les supprimer? Quelle est la meilleure façon de résoudre ce conflit d'arbre?

14
akcasoy

Est-ce que c'est la bonne façon de le faire?

Non.

Après avoir effectué votre fusion, TortoiseSVN affichera une fenêtre avec tous les conflits d'arborescence marqués en rouge. Double-cliquez dessus pour afficher une boîte de dialogue avec des options. L'une de ces options est "Accepter l'état actuel de la copie de travail (marquer comme résolu)". Ce clic oblige TortoiseSVN à supprimer le dossier pour vous et à marquer le conflit comme résolu.