Merge enables you to specify a range of versions to merge over. This means that you can merge a range of versions without the need to merge previous versions. For example, if file foo is at version 10 in the source branch and is at version 6 in the target branch. If you want to port changeset 9 only without porting all the changes up to that version (i.e. you don’t want to port 7 and 8 along), you can specify that in the version range:
tf merge /version:C9~C9 $/proj/source/foo $/proj/target/foo
On a side note, when you append the ;C123 to an item spec while merging, this means that merge will be scoped to only the items that were changed in C123.