15
votes

In TFS 2010, how can one mark a changeset so that it cannot be merged from one branch to another? For example, so it doesn't show in the "merge wizard" in Visual Studio when using the "Selected changesets" option. Basically, I want it to look like the changeset in question has already been merged into another branch.

Our build process auto-increments the version numbers in all our AssemblyInfo.cs files. A changeset in a release branch that contains only version increments should not be merged into trunk (or another release branch, of course).

I believe this is analogous to the "Only record the merge (block revisions from getting merged)" checkbox in TortoiseSVN.

2

2 Answers

20
votes

I think I found the answer to my question. The tf.exe command has a switch "/discard" which is documented as "Does not perform the merge operation, but updates the merge history to track that the merge occurred." This is exactly what I was looking for. I'll try it and post an update if this not what I'm expecting.

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

0
votes

There's really not an analog in TFS for what you're trying to accomplish. Within TFS each subsequent changeset for a file is a delta off the previous changeset (and so on down to the base revision). Therefore, you can't really "skip" a changeset.

I'm not sure exactly what you mean by "version increments" in this situation. Are you talking about file/assembly version, or something else?