Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TFS 2015 build associates additional work items and changesets with itself

I have gone through this question -TFS 2015 Build log displaying associated changes from other project -and did not identify with the solution.

In my case the build works fine, solution is being compiled and outputs are being generated. However after the builds ends, on the summary page the associated changes has changesets from all the folders under the team project and similarly the associated work items belonging to these changesets too.

Under Mapping I selected the exact folders where the solution exists.

$/team-project/ParentFolder_Ten/myProject which is set to $(build.sourcesDirectory)\Source $/team-project/CommonReferenceFolder which is set to $(build.sourcesDirectory)\Reference

The CommonReferenceFolder is used across different source paths and hence is kept at a common location instead of inside $/team-project/ParentFolder_Ten/

Continuous Integration is enabled with Batch changes.

Include= $/teamproject/ParentFolder_Ten/myProject

The problem that we are seeing are: -On the dashboard page where we see All build definitions with Completed and Queued builds, the Source Branch column is set to $/teamproject and not $/teamproject/ParentFolder_Ten/myProject. Maybe because that is the common path for both the mappings. And maybe due to this it associates all the changesets that are linked to all folders under $/team-project and not necessarily just $/teamproject/ParentFolder_Ten/myProject which is what is desired.

Due to this, though a build will be queued only when changes are made to $/teamproject/ParentFolder_Ten/myProject the summary page is listing changesets and associated work items that are made in $/teamproject/SomeOtherFolder. This kind of distorts the information associated with the build since we are interested in only the changesets that are made to $/teamproject/ParentFolder_Ten/myProject and not $/teamproject

I hope I am able to explain the problem statement clearly enough. Any help in the right direction is appreciated. In case some more clarity is required on my part, please inform.

like image 410
Sourav Kundu Avatar asked Nov 09 '22 09:11

Sourav Kundu


1 Answers

According to your description, it seems to be a known issue here: Build summary shows incorrect Source Version. It seems the source branch is referring to collection level when mappings were added from other team project.

When I create a new build definition I have one mapped server path under the repository section. When I run builds for this definition the “Associated changes” are only showing the changes under this server path.

After I add an another mapping under the repository section I see all the changes in this repository.

When I analyze the changes in the history of the definition I see that the “defaultBranch” is changed to the root server path of the repository.

I have tried the same in VSTS and the “defaultBranch” is not changed.

You can also go through the related disscution in this MSDN thread: Builds associated with incorrect changesets from other projects

From the reply from Byran in this issue, it should be improved in TFS2015 update3 or upcoming QU3

In update3 it was improved to take mappings into consideration instead of just finding the common root. But note that technically TfsVC is collection scoped and mapping can span projects. So should be improved in the upcoming QU3

Bryan [MSFT]

like image 56
PatrickLu-MSFT Avatar answered Dec 14 '22 04:12

PatrickLu-MSFT