2009-09-17 6 views
38

Comme avec la plupart des choses dans TFS vous obtenez plus que ce que vous avez négocié. Dans ce cas, je vois plus de changements de fichiers lors de la fusion que ce à quoi je m'attendais.Dans TFS, comment effectuer une fusion sans base sur des changesets spécifiques?

J'ai 2 branches enfants, soyons excitantes et les appelons branches1 et branche2. Les deux ont des modifications apportées à eux depuis qu'ils ont été créés. Je dois prendre 12 changesets spécifiques de branche2 et les fusionner en branche1. Les changements de branch2 ne peuvent pas revenir à la branche parente. Donc, c'est un cas simple pour une fusion sans fondement, mais les résultats ne sont pas ce que je m'attendais.

Prendre la première changeset j'ai couru la commande suivante:

tf merge /baseless /recursive /version:C95654 branch2 branch1 

Changeset 95654 contient 12 fichiers modifiés, mais après cette commande je reçois 56 fichiers modifiés avec des conflits. Je m'attendais à fusionner seulement le changeset spécifié d'une branche à l'autre mais il semble avoir fusionné le dossier entier.

Alors, pourquoi ai-je 56 fichiers modifiés plutôt que 12 lorsque j'ai spécifié le changeset? Aussi, que puis-je faire pour limiter ce qui est fusionné au contenu de ce changeset?

Répondre

56

Si vous avez besoin de fusionner un changeset spécifique, vous devez utiliser la déclaration suivante:

tf merge /baseless /recursive /version:C95654~C95654 branch2 branch1 

(Cela signifie changeSet SEULEMENT C95654).

La ligne de commande que vous utilisez signifie tous les changements de type avant et avec C95654.

+0

Est-il possible que je fais une fusion, mais sans base, je ne reçois pas de code Branch1 (cible) ?, –

1

J'ai dû utiliser des chemins tfs pour les deux branches. Les étapes étaient les suivantes: ajouter les deux branches à l'espace de travail souhaité; obtenir le dernier Ouvrez une PowerShell Windows dans le dossier cible. Obtenir les chemins tfs

>tf workspaces /format:detailed 
>tf workfold 

Ensuite, utilisez $ paths pour les branches. Même nombre de changeset entre la fusion sans base de tilde pour un changeset.

>tf merge /baseless /recursive /version:C999~C999 "$/MyRepo/Current" "$/MyRepo/Development" 

Plus ici - http://blogs.msdn.com/b/bharry/archive/2011/08/31/merge-enhancements-in-tfs-11.aspx

+0

+1 pour cela: « ajouter les deux branches à la espace de travail souhaité " –

Questions connexes