tags:

views:

760

answers:

1

Underneath one "Project" in TFS we have multiple products. This is because for us, a project is a business unit and they each can have many applications that we develop for them. Each one has its own folder in source control(under the TFS project) and each one has its own TeamBuild set up. The issue I have is that whenever a build runs, the report generated for it contains a listing of all the changesets that were associated to the TFS Project; even though many of them were for a different product and the code referenced actually wasn't compiled or built during that build.

Does anyone know how to get TFS to only include changesets in its report that are associated to the actual VisualStudio projects that are being built in TeamBuild?

+2  A: 

The best solution would to to modify the Workspace Mapping for the Team Build Definition to include the Solution Root path instead of the Team Project Root.

In TFS2008,

  • Right click the Team Build Definition and choose 'Edit Build Definition'
  • Select the 'Workspace' tab
  • Remove the existing mapping: $/TeamProjectName
  • Add a new mapping to the solution root, for example: $/TeamProject/Main/Solution1/

In TFS2005,

  • Open Source Control Explorer
  • Browse to $/TeamProject/TeamBuildTypes/BuildName/WorkspaceMappings.xml
  • Get Latest of the file and check it out for edit
  • Remove the existing mapping: $/TeamProjectName
  • Add a new mapping to the solution root, for example: $/TeamProject/Main/Solution1/

This workspace mapping defines the scope for changesets to be included in the build.

See:

Grant

Grant Holliday