2010-10-26 3 views
11

Dans TFS 2010, comment marquer un changeset de sorte qu'il ne puisse pas être fusionné d'une branche à l'autre? Par exemple, il n'apparaît donc pas dans l'assistant de fusion dans Visual Studio lors de l'utilisation de l'option "Selected changesets". Fondamentalement, je veux que cela ressemble au changeset en question a déjà été fusionné dans une autre branche.Comment bloquer un ensemble de modifications de fusionner dans TFS?

Notre processus de construction incrémente automatiquement les numéros de version dans tous nos fichiers AssemblyInfo.cs. Un ensemble de modifications dans une branche de publication qui ne contient que des incréments de version ne doit pas être fusionné dans un tronc (ou une autre branche de publication, bien sûr).

Je crois que cela est analogue à la case à cocher "Enregistrer seulement la fusion (révisions de bloc de fusionnées)" dans TortoiseSVN.

Répondre

14

Je pense avoir trouvé la réponse à ma question. La commande tf.exe a un commutateur "/ discard" qui est documenté comme "n'effectue pas l'opération de fusion, mais met à jour l'historique de fusion pour suivre que la fusion s'est produite". Ceci est exactement ce que je cherchais. Je vais essayer et publier une mise à jour si ce n'est pas ce que je m'attends.

http://msdn.microsoft.com/en-us/library/bd6dxhfy(v=vs.80).aspx

+0

Voici un exemple de la syntaxe pour cela (pour mon propre bénéfice quand je google prochaine ceci ...) 'tf fusionner $/sourceBranch $/targetBranch/discard/récursive/version: Cx ~ Cy' Cx ~ Cy sont des nombres de changeset qui peuvent être une plage, par exemple C100 ~ C102 ou juste un seul numéro de changeset pour rejeter un seul changement de type, par ex. C100 ~ C100 – Ted

0

Il n'y a vraiment pas d'analogue dans TFS pour ce que vous essayez d'accomplir. Dans TFS, chaque ensemble de modifications ultérieur pour un fichier est un delta de l'ensemble de modifications précédent (et ainsi de suite jusqu'à la révision de base). Par conséquent, vous ne pouvez pas vraiment "ignorer" un changeset.

Je ne sais pas exactement ce que vous entendez par "incréments de version" dans cette situation. Parlez-vous de la version de fichier/assemblage, ou autre chose?

+0

Merci pour votre réponse. Je ne veux pas dire sauter un ensemble de modifications - seulement pour qu'un ensemble de modifications ne puisse pas être fusionné (au moins dans l'interface graphique) d'une branche à l'autre. Pour les incréments de version, oui il s'agit de versions de fichiers/assemblages. Je vais mettre à jour la question pour être plus clair sur ceux-ci. – joelsand

Questions connexes