We have a build definition in TFS 2008 that builds one of our solutions on request (not using CI) and this works fine.
I navigate to the Build Explorer for this definition and double-click a completed build to view the summary. In the summary I expand "Associated changesets" to examine the list of changesets that were committed between the previous build and this one.
On close inspection, it appears that TFS simply lists all changesets between the two builds regardless of whether they were part of the solution being built or not.
Is there something wrong with our configuration, or is this simply how TFS works?