Question

Environment

TFS 2010. Three branches: Main, Development and Release.

Question

I would like to easily retrieve a list of changesets that have not been fully merged into all three branches.

For Example

Lets says I have a changeset, 100, that was a bugfix and checked in directly into Release. I can use the Tracking feature to visualize that it exists only in Release.

But that requires me to know to look at that changeset. I'm looking for a generic list that would show me any changeset that exists in one branch, but not in all three.

What I know

I know I can compare Release to Main to see the differences. Is that my only option?

I try to associate changesets with work items, so I could query a list of non-closed work items and then as a 'rule', I could verify that a changeset has been fully merged before closing it. And perform code compare to verify.

Was it helpful?

Solution

You can get a simple list of changesets through the IDE by choosing the "Selected Changes" option when merging things onto a build.

Another option is to use the API. VersionControlServer has a property named GetMergeCandidates which returns an array of MergeCandidate which has the changeset and if it has been partially merged already as properties.

OTHER TIPS

From the Developer Command Prompt, you can also use the tf.exe merge command.

tf merge /candidate /recursive Release Main

will show you all the changesets that were made to Release but haven't been merged into Main.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top