web-dev-qa-db-fra.com

Type de conflit TFS: Fichier enregistrable - Un fichier en écriture portant le même nom existe localement

J'essaie d'obtenir les dernières nouvelles de mon projet. Lorsque je le fais, TFS me montre que j'ai des conflits sur chaque fichier de ce projet. Chaque fichier a le même conflit: Conflict Type: Writable File - A writable file by same name exists locally. 

La résolution que cela me donne est "Ecraser le fichier ou le dossier local" mais je dois le faire un par un. 

Pourquoi TFS pense-t-il qu'il y a des conflits (je n'ai modifié aucun fichier)? 

27
dev.e.loper

La réponse de Grant est excellente pour résoudre des conflits multiples.

Pour ce qui est de la raison pour laquelle vous avez ces conflits, en général, votre client TFS a détecté l’existence locale d’un fichier qui n’est pas géré par TFS, mais vous tentez d’effectuer une opération get qui: écraserait ce fichier.

Si vous suivez un flux de travail de développement normal (et ne modifiez pas les fichiers en dehors de l'éditeur), la source la plus courante de conflits en écriture provient des tablettes. Si vous deviez mettre en attente un ajout sur un fichier, alors vous deviez annuler cet ajout (explicitement ou parce que vous avez mis en suspens la modification et désélectionné le bouton de conservation des modifications en attente), le fichier est et non supprimé. (Ceci permet d'éviter la perte de données - il n'est pas rare que vous souhaitiez créer un fichier, mais et non l'avez enregistré dans le contrôle de source.)

Maintenant, si vous (ou quelqu'un d’autre) devait vérifier ce plateau (soit en créant un build à partir de ce plateau, soit à partir de l’enregistrement sécurisé, soit parce que votre relecteur de code a directement enregistré votre plateau), , votre client TFS détectera que le fichier existe toujours localement et qu’il y aura donc un conflit en écriture.

Cela peut ne pas être particulièrement évident dans le cas de l'enregistrement sécurisé. L’enregistrement synchronisé fonctionne réellement lorsque vous essayez d’archiver vos modifications. , votre enregistrement est en fait converti en étagère . L'agent de compilation TFS essaiera ensuite de créer votre étagère et, si l'opération réussit, il archivera cette étagère en votre nom. Si la construction échoue, le plateau reste et vous pouvez annuler la réparation pour corriger les erreurs de construction.

Pour cette raison, il est important d'exécuter l'application de notification de génération lorsque vous utilisez l'enregistrement synchronisé, ce qui vous permettra de "réconcilier" vos modifications une fois qu'elles sont soumises. La réconciliation de votre enregistrement ne fera que récupérer l’enregistrement soumis par le serveur de build, mais évitera les conflits car il comprend le contexte des modifications qui se trouvent sur votre disque local. (Le contenu de votre disque local sera comparé à celui du serveur.) Si vous ne choisissez pas de procéder à la réconciliation, vous aurez malheureusement des conflits avec les droits d’inscription sur les fichiers ajoutés.

(Notez que ce scénario ne générera pas de conflit dans la prochaine version de TFS - s'il n'y a pas de différences de contenu, TFS ne générera pas de conflit.)

14
Edward Thomson

Dans le cadre du programme Visual Studio 2010, cliquez sur le programme Visual Studio 2010, puis cliquez sur le bouton affiché pour afficher le rapport.

Jeśli wybierzesz pierwszy konflikt, przytrzymajShiftnastępnie wybierz ostatni konflikt, rozdzielczość „Zastąp lokalny plik lub folder” zostanie zastosowana do wszystkich wybranych konfliktów.

Cliquez sur OK pour obtenir plus de détails résolution/auto: OverwriteLocal , aby rozwiązać konflikty.

28
Grant Holliday

Vous devez disposer de tous les droits (Contrôle total) sur un fichier ou un dossier local spécifique. Vérifiez-le. Si ce n'est pas vrai, vous devez supprimer tous les fichiers locaux, modifier les droits, puis récupérer les derniers fichiers du serveur.

0
Dario