RosieC
RosieC

Reputation: 669

TFS Merge Specific Change Set - Change Set Missing

A google search and a specific stockoverflow search hasn't found me anyone else with this problem.

In tfs our procedures are that we make changes in a branch called Dev, than at a later time merge specific changesets up to a branch called DevQA. (We have other branches as well which shouldn't be affecting things at this point.) We use screens available in VS to do this.

I have 9 changesets which I made last week (all relating to the same or at least overlapping code) and it's now time to merge some of those up to DevQA.

The changes are showing in History on Dev, but when I choose merge, then specific change set (set the source to Dev and the target to DevQA) and click next the list of change sets available to merge does not include 7 of my 9 changes sets, including the ones I want to merge.

I've done some checks and they appear to be the only missing changesets, others have either been merged already, or are available in the list.

I have clicked on one of the changesets and used the 'track changeset' & Visualise options, and it shows the change set has NOT already been merged.

A new branch was created after these changesets were made, which was branched from DEV and my changesets show as being in that. However I don't believe this is related because other changesets which are in that ARE available to merge to DevQA.

Is there any reason these may not be showing up? Is there any way I can work around this and force them to merge?

Upvotes: 4

Views: 5389

Answers (1)

PatrickLu-MSFT
PatrickLu-MSFT

Reputation: 51073

If the changesets are in sequence or you don't mind to merge other changesets which in the range of your nine changesets, as a workaround you could try to use tf command.

Using the tf command line tool you specify a range of versions by separating the version with a tilde character.

tf merge /recursive /version:C1000~C1008 "$/SourceBranch" "$/TargetBranch"

In this case the changes 1000 and 1008 will also be included.

To merge multiple separate changesets into another branch you will have to do it in multiple steps:

tf merge /recursive /version:C1001~C1001 "$/SourceBranch" "$/TargetBranch"

Then your workspace for the target branch will contain the changes for both changesets and now you can check-in the merges as one changeset in the target branch.

Upvotes: 6

Related Questions