web-dev-qa-db-fra.com

Comment puis-je toujours bloquer l'archivage d'un fichier spécifique dans TFS

Il y a un fichier auquel j'ai toujours apporté des modifications, mais que je ne veux jamais être archivé. J'aimerais que TFS m'empêche de l'archiver ou de valider les modifications. Comment puis-je configurer TFS pour ce faire?

Détails: Il y a un autre développeur sur le projet qui a archivé un mauvais code que je préfère commenter sur ma machine locale. Puisqu'ils sont clients, je préfère garder cet exercice technique plutôt que d'en faire un exercice politique.

66
MedicineMan

L'une des fonctionnalités sous-évaluées de TFS est cloaking . Comme le ignore de SVN, le masquage vous permettra d'ignorer un certain dossier ou certains fichiers.

Masquer un dossier

Le masquage d'un dossier est facile: faites un clic droit sur un dossier dans l'explorateur de contrôle de source et sélectionnez Cloak

Masquer un fichier

L'interface utilisateur n'expose pas le masquage sur un seul fichier, mais parfois vous pouvez vouloir masquer un certain fichier comme app.config.

  1. Accédez à File> Source Control> Workspaces

  2. Sélectionnez votre espace de travail et cliquez sur Edit.

  3. Sous les dossiers de travail, et une nouvelle entrée avec le statut Cloaked et entrez le chemin d'accès complet au serveur du fichier que vous souhaitez masquer. (Par exemple.: $/MyTeamProject/Dev/Src/SomeProject/app.config)

Cloaking a file


Utilisation du fichier Local Workspace .tfignore (dans TFS 2012, 2013, 2015 et plus)

Dans Local Workspace , utilisez, vous pouvez utiliser .tfignore fichier (l'équivalent de .gitignore pour Git)

.tfignore file example
 ######################################
# Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA\*.cpp
# 
# Ignore .txt files in this folder 
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll

Blocage par autorisations

Une autre approche consiste à refuser l'enregistrement sur le fichier (nécessite des privilèges administratifs):

  1. Cliquez avec le bouton droit sur le fichier> cliquez sur Properties> Security

  2. Ajoutez votre utilisateur et marquez Deny sur le Check In autorisation.

Deny Check In

89
KMoraz

Pour TFS 2012, utilisez simplement le fichier . Tfignore .

Lorsque vous ajoutez des fichiers ignorés à des dossiers mappés dans un espace de travail local, ils n'apparaissent pas dans la page Modifications en attente dans Team Explorer.

http://msdn.Microsoft.com/en-us/library/ms245454.aspx

12
Androiderson

Visual Studio 2013 (et 2012)

Cette fonctionnalité est disponible en sélectionnant le (s) fichier (s) et en allant sur:

File > Source Control > Advanced > Exclude ... from Source Control
8
Evan Mulawski

Vous pouvez simplement exclure le fichier du contrôle de code source

1. Sélectionnez le fichier dans l'Explorateur de solutions

2. Allez dans Fichier -> Contrôle de source -> Avancé

Path To Exclude

et le voici

Here is the Exclude

4
Felix Keil

Il y a 2 façons.

  1. Vous pouvez le "décocher" dans la fenêtre "Modifications en attente", il devrait ensuite s'en souvenir la prochaine fois que vous chargerez Visual Studio. C'est un peu lourd si vous aimez "sélectionner tout" et cocher/décocher les éléments de la liste et sujets aux erreurs.
  2. N'extrayez pas le fichier, allez dans l'Explorateur et supprimez vous-même l'attribut Lecture seule. Modifiez ensuite les bits que vous souhaitez. La mise en garde est que TFS ne le sait pas et ne met pas toujours à jour le fichier correctement. De plus, si vous modifiez ce fichier dans VS (pour un changement plus récent), il sera "extrait" et vous pourrez ensuite l'archiver par erreur.

Je n'aime aucune des deux options dans TFS/VS 2010, donc j'ai en fait évité de le faire (j'avais l'habitude d'avoir un grand "ignore-on-commit" lorsque nous utilisions SVN). Maintenant, j'utilise VS11 Beta, la liste Exclue fait exactement ce que je veux, je déplace quelque chose vers elle et elle y reste, et je peux facilement mettre d'autres modifications sur et hors de cette liste et ne pas archiver ce fichier.

3
DaveShaw

Une autre option consiste à utiliser une politique d'enregistrement personnalisée. Vous pouvez créer le vôtre ou utiliser Politique de modèles interdits à partir du TFS 2010 Power Tools . Bien sûr, vous devez être un administrateur TFS pour l'installer et ce n'est peut-être pas la chose que vous souhaitez dans votre situation. De plus, toutes les politiques d'enregistrement peuvent être remplacées.

2
Lars Truijens

si vous utilisez le type d'espace de travail "Local", c'est nouveau dans TFS 2012 - vos fichiers contrôlés par la source ne sont pas du tout définis en "lecture seule". Mais dans ce cas, peu importe où vous les modifiez, ils sont vus par TFS comme modifiés et inclus dans les modifications en attente. Ce serait bien d'avoir une option comme "auto-exclure" des modifications en attente par défaut. Et ne les incluez que lorsque vous le souhaitez.

2
Anik

Les dossiers cachés ne sont jamais détectés comme un changement par TFS utilisez cette fonctionnalité si vous utilisez VS2010. Le dossier dont vous ne voulez pas faire partie de TFS Marquez-le comme masqué.

1
Sandeep