Question

In TFS when you merge branch A to branch B and checkin, you get a single changeset on B (typically with a comment like "merged A->B").

This means B doesn't have any of the checkin history from A. So if someone created a new file on branch A, you can't tell who created it from branch B. And if someone updated a file on A, you can't tell who did the update from branch B.

Is there any way to see this kind of detailed changeset history across branches? Some kind of power toy, or third party tool, or anything?

Update: The TFS Power Toy tfpt history /followbranches tool does not "expand merges," it only "expands branches" and therefore doesn't solve this problem.

Was it helpful?

Solution 2

TFS 2010 will include support for this.

Brian Harry talks about it in this presentation.

You will now be able to see where a change originated and who made it after the change has been merged to a different branch.

OTHER TIPS

Right now 'tf merges' and 'tf merges /f:detailed' provide the most complete merge tracking information. However, they are command-line only. And the only 3rd party tool I know of that attempts to provide a GUI is TFS Sidekicks.

This gets a lot easier in TFS 2010. See screenshots at:

TFS SideKicks is another good tool for supplementing TFS default tools.

The TFS 2008 power toys does come with the tf history /followbranches command. But that command doesn't expand merges.

All it does is show you the change set history from A before branch B was created. What it doesn't show you is what change sets were merged from A -> B after the branch was created.

In other words, what I want to see is all the change sets that were made on a source branch and then applied to a target branch as part of merge operation.

I think you would find TFS Sidekicks helpful, especially the history area:

History Sidekick application pane provides the following features:

  • View version control tree with files and folders (similar to Source Control Explorer)
  • Search item (file or folder) by name and select found item in version control tree
  • View selected item history either for all users or filtered by user
  • Export history list to CSV file
  • Compare file versions selected in history
  • View selected item properties and pending changes
  • View selected item branches tree and selected branch properties
  • View selected item merge history; it is possible to view separately all merges performed with selected item as a merge target (merges to) or with selected item as a source (merges from)
  • Compare merge target and source file versions in history
  • View selected item merge candidates in a tree view; it is possible to select single merge source from the list
  • Compare merge candidate file version with latest version of target file
  • View selected item labels either for all users or filtered by user; the information displayed includes item version in label
  • Compare file versions between two labels
  • View changeset details supported in all lists containing changesets

Team Foundation Sidekicks

Might want to try the TFS Follow branch History tool:

http://www.codeplex.com/TFSBranchHistory

"TFS Branched History" plugin exists at Microsoft Gallery:

http://visualstudiogallery.msdn.microsoft.com/7d4f37b6-f9a4-44c6-b0a0-994956538a44

Plugin does insert "Branched History" button into the context menu of Source Control Explorer (TFS)

The button icon is with clock like standard "History" but with blue arrow:

Branched History Button

If you click "Branched History", new window will be opened and Path property will be set to the current Source Control Explorer path:

enter image description here

Click "Run query" to get results at the "History" tab:

enter image description here

From context menu you can query standard Changeset Details and Compare File (Folder) dialogs.

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