2008-09-09 5 views
53

La création d'un correctif est très simple dans SubVersion. Avec Tortoise, cliquez avec le bouton droit de la souris et sélectionnez Créer un correctif. Mais pour la vie de moi, je ne peux pas trouver cette fonctionnalité dans TFS. Est-ce possible? Sinon, quelle est la manière standard d'envoyer des correctifs dans des projets hébergés TFS open source (à la CodePlex)?Création d'un correctif avec TFS

Répondre

48
tf diff /shelveset:shelveset /format:unified 

Edit: Cela écrit sur la sortie standard. Vous pouvez diriger la sortie vers un fichier.

Pour plus d'options, voir Difference Command.

+5

Pouvez-vous expliquer un peu plus? 1. Comment appliqueriez-vous ce patch? 2. En outre, si le projet est en lecture seule pour le patcher, il ne peut pas créer un ensemble de rayons, n'est-ce pas? –

+0

Il existe un programme UNIX standard appelé "patch" qui applique des diffs unifiés aux arbres source. Je suis sûr que vous pourriez trouver une implémentation Windows, ou vous pourriez utiliser Cygwin. –

+0

@Doron cette affiche toutes les différences entre les shelveset et le dossier de l'espace de travail en cours dans un format similaire à: http://hg.shrinkrays.net/spruce/changeset/0d00e3c15e2c/raw/spruce-0d00e3c15e2c.diff –

2

Parce que TFS ne supporte pas nativement les fichiers de correctifs, la chose la plus courante que je vois sur CodePlex est simplement de compresser les fichiers modifiés et de télécharger le fichier zip. Le coordinateur du projet fait ensuite une différence par rapport à son propre contrôle.

Cependant, comme CodePlex prend également en charge TortoiseSVN, de plus en plus de personnes l'utilisent pour créer leurs fichiers de correctifs.

0

J'ai écrit un article de blog sur un problème similaire où j'ai utilisé la commande TF.exe et 7Zip à create a TFS patch file qui pouvait ensuite être appliqué sur un autre serveur ou espace de travail TFS. J'ai posté les scripts Powershell au Github, qui peut être utilisé pour compresser toutes les modifications en attente sur un espace de travail, puis les appliquer à un serveur différent. Il devrait être modifié pour utiliser un changeset au lieu de changements en attente, mais cela ne devrait pas être trop difficile à accomplir.

+2

Ce script utilise le fichier entier, pas les lignes différées. Plus d'une xcopie contrôlée – JJS

Questions connexes