28 votes

Ignorer les fichiers de l'archivage avec un certain modèle de changement

Depuis que j'ai commencé à utiliser Annotations JetBrains pour mon propre bénéfice, j'ai décoré toutes les méthodes avec [CanBeNull] o [NotNull]

Par exemple, la ligne suivante :

public AccountController(IAccountService accountService)

Serait changé en :

    public AccountController([CanBeNull] IAccountService accountService)

Un autre exemple serait :

public Account CreateAccountEntity(Account accountEnttity)

serait changé en :

    [CanBeNull]
    public Account CreateAccountEntity([NotNull] Account accountEnttity)

Comment puis-je contourner les modifications en attente pour les annotations, en particulier "[CanBeNull]", et faire en sorte que TFS ignore complètement cette modification ?

24voto

slugster Points 27178

Vous ne pouvez pas faire en sorte que TFS "ignore" la modification. C'est le but de TFS - de suivre todo changements.

D'après l'interprétation de votre question, vous voulez éviter le bruit de nombreuses vérifications potentiellement petites mais inoffensives en raison de vos annotations. Si cela est correct, alors il y a une façon d'utiliser TFS qui minimisera le bruit :

  • créer une branche à partir de l'endroit où vous travaillez actuellement (appelons-la "BrancheA"), puis effectuer tous les changements d'annotation dans cette nouvelle branche ("BrancheB"), en les vérifiant régulièrement
  • si cela doit prendre un certain temps (jours, semaines), assurez-vous de faire des fusions régulières de la branche A vers la branche B.
  • quand vous pensez avoir terminé, faites une fusion finale de BranchA vers BranchB. Si vous avez trouvé de nouvelles méthodes, assurez-vous de les annoter. Répétez cette étape si vous avez fait des changements.
  • fusionner tous les changements de la branche B vers la branche A. Cela aura pour effet d'agréger tous vos petits changements en un seul grand checkin/changeset dans la BrancheA. Si vous avez effectué des fusions régulières de la BrancheA vers la BrancheB, cela ne devrait pas poser de problème, même si un temps considérable s'est écoulé depuis que vous avez commencé le travail de décoration.

8voto

TheBigSot Points 823

En bref, vous ne devriez pas, la fonction la plus proche est la tfignore mais cela ignorera tous les fichiers.

D'un autre côté, si vous le souhaitez vraiment, vous pourriez créer un outil utilisant l'API TFS, et vous devriez l'exécuter avant les check-ins et il vérifierait tous les fichiers en attente dans votre solution et rechercherait ces petites modifications et exclurait les fichiers, mais cela pourrait causer le problème qu'à un moment donné, vous pouvez apporter une modification à un fichier exclu et il ne sera pas archivé et causera des problèmes. Vous devrez ajouter du code supplémentaire pour vérifier quels fichiers doivent être inclus dans la liste des exclus.

Outil externe utilisé à l'intérieur du VS Vous verrez ici comment ajouter des outils au menu Outils et lui envoyer des arguments.

Exemple d'API TFS Cet exemple montre comment utiliser l'API TFS. Il y a un 'workspace.AddIgnoreFileExclusion()', mais je n'ai pas TFS ici, donc je vérifierai comment ignorer les fichiers plus tard.

D'après mon expérience, la seule raison pour laquelle je ne voudrais pas enregistrer ces changements serait d'éviter les conflits avec l'équipe. Si je vois beaucoup de valeur dans une pratique comme l'utilisation des annotations, je parlerais avec l'équipe pour qu'elle adhère à l'idée d'utiliser les annotations, de cette façon tout le monde l'utilisera et bientôt chaque fichier aura les annotations et il n'y aura pas de conflits.

7voto

Daniel Mann Points 9146

Vous ne pouvez pas ignorer de manière sélective les modifications apportées aux fichiers, que ce soit dans TFVC ou dans tout autre SCM que j'ai rencontré.

6voto

Vasyl Zvarydchuk Points 2783

Je suis d'accord avec les autres réponses que ce type de fonctionnalité n'est pas officiellement supporté par Microsoft.

Mais vous pouvez aussi écraser TFVC en de quelques façons si cela est vraiment nécessaire. Vous pouvez écrire votre propre Plug-in Visual Studio o Contrôle de la source VSPackage .

1voto

Andrii Litvinov Points 6868

Si votre objectif principal est d'écrire un meilleur code avec l'aide de ReSharper qui vous dit si vous devez attendre des nulls ou non ou produire d'autres avertissements et que vous ne voulez pas déranger les autres membres de l'équipe avec cela, je vous suggère d'envisager l'utilisation de Annotations externes au lieu des attributs d'annotation dans le code.

Vous pouvez alors décider si vous voulez livrer ces fichiers ou les garder localement. Et même si vous livrez votre code, il sera toujours propre sans ces attributs supplémentaires.

Au moins, je ferais un essai.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X