9
votes

Contrôle de la version TFS - Fichier supprimé, ajouté - Comment pouvons-nous dire TFS c'était un geste?

Nous faisons du refactoring majeur et nous avons déplacé beaucoup de fichiers. Nous utilisons Resharber qui rend cela (relativement) indolore à la mise à jour de toutes les utilisations partout lorsque nous déplacons des fichiers - même vers un projet différent. Alors tout est génial.

Sauf que nous venons de découvrir aujourd'hui que Resharper indiquerait à TFS de supprimer le fichier dans l'ancien emplacement, puis d'insérer comme nouveau fichier dans le nouvel emplacement. Comment pouvons-nous dire à TFS que cette suppression / insert était en réalité un geste?


1 commentaires

Resharper 9 est sorti ... Quelles sont les chances que ce bug est corrigé?


3 Réponses :


4
votes

réponse courte : vous ne le faites pas.

réponse longue : vous ne voulez que si vous souhaitez exécuter la possibilité d'une touche complètement de votre contrôle source.

du point de vue de TFS, le fichier dans le nouvel emplacement est un fichier complètement différent. Il a même un identifiant différent dans le serveur de base de données.

Maintenant, vous pouvez certainement aller Spelunking dans votre base de données TFS et essayer de mettre à jour manuellement les associations d'identifiant de fichier. Mais cela a une probabilité extrêmement élevée de vous visser complètement ... Sauf si vous n'êtes pas l'un des principaux développeurs de TFS qui connaissaient intimement le backend du produit. Auquel cas vous ne poseriez pas cette question. ;)

Objet légèrement hors tension: vous devez contacter JetBrains et leur dire de résoudre ce problème.


4 commentaires

{Word de jure inapproprié} - Ce n'est pas bon. Si nous avions connu ce que Resharper faisait, nous aurions pu l'utiliser pour causer toutes les modifications, puis copier les fichiers ailleurs, annuler la commande, déplacer les fichiers, vérifier, puis copier. Mais nous avons appris cela après.


Oui, nous pensons faire ça.


@Resharper, vous résonnez cela ??


Pour quiconque se demandant: Voici le bogue Restomes associé: youtrack.jetbrains.com/issue/rsrp-179384



4
votes

"TF Rename" indiquera TFS que le fichier a été déplacé.

http://msdn.microsoft.com/en-us/library/ A79BZ90W.ASPX

Si vous êtes en VS et déplacez un fichier d'un dossier à un autre, vous pouvez voir que TFS attend une renommée. Vous pouvez également déplacer un fichier d'un dossier à un autre, puis renommez le fichier. TFS pendne une renommée.

Apparemment, lorsque Resharper déplace des fichiers autour de celui-ci n'utilise pas de déplacement et de renommer des API dans le système de projet VS, ou je m'attendrais à ce que cela "ne fonctionne que".


1 commentaires

Déplacer un fichier entre projets in vs. Il fait en fait une suppression / n'ajoute pas un geste. Par conséquent, j'imagine que c'est en fait un bug vs.



5
votes

J'ai fait face à une situation similaire où je voulais déplacer des fichiers entre projets et je voulais que Resharber, faire le plus de travail possible possible. Voici les étapes que j'ai finies par faire:

  1. Déplacez le fichier dans Resharper. Cela rendra la modification appropriée du fichier de projet cible.
  2. Fermez la solution ou désactivez Resharper.
  3. Annuler le Supprimer / Ajouter dans TFS.
  4. Déplacez le fichier dans TFS.
  5. Assurez-vous que le fichier déplacé n'est plus dans le projet source.
  6. Rechargez la solution ou réactivez Resharper.
  7. Utilisez RESHARPER pour effectuer des modifications de l'espace de noms.

    Évidemment, on peut le faire avec plus d'un fichier à la fois. C'est une douleur, mais TFS se retrouve avec le bon changement et Resharper s'occupe de changer de références.


0 commentaires