I'm fairly new to TFS (let alone 2010) and have been playing around with getting a TFS server up and running with automated builds. So far this has gone fairly well, I've got a gated check-in build definition and it all appeared to be working correctly...until I tried out using the symbol/source server, for some reason the MD5 of the source retrieved from the source server didn't the MD5 for the build.
Here's what I'm doing:
- Commit some change, the gated check-in executes the build, it completes successfully and all appears to be good
- I copy the build output from the drop location to my desktop
- I run the build and attach the VS2010 debugger to it
- An exception is thrown and VS2010 fetches the source from the server
- VS2010 complains that the checksum doesn't match, asks me to manually browse for the source
Upon closer inspection it looks like the gated check-in is actually building against the latest changeset (lets say changeset 10), and not the shelveset that it's supposed to be (which becomes changeset 11 after the build completes successfully).
- The name of the file retrieved from the source server has 'C10' in it when the changeset for the build should be 11 (or at least, the shelveset that became changeset 11 after building successfully)
- Looking in the build directory on the server, the contents of the source files it last used to perform a build are don't have the changes last committed, suggesting the build used the latest changeset instead of the shelveset
Does anyone know what could be happening here or has anyone experienced this before?