2

I've been running into problems queuing a build to a TFS Build Server with a specified shelveset. I'm running TFS 2012. I have a visual studio solution with many projects. I'll open the solution, make a change to a few .h header files in a few of the projects, and then make a shelveset for that changeset.

Next, I queue a build to the TFS server. In the build definition, I select the shelveset that I just created. However, when the TFS Build server processes that queued build, it behaves as if it ignored the shelveset. When the compiler processes those projects that have the modified files, the header files in the sources folder do not include the change in the specified shelveset.

Here's the interesting bit. I've watched the files created on the build server as the build is processed. When the sources folders are first created and populated, the changes in the specified shelveset are present. But by the time the build process gets to the relevant project files, the source files have been changed back to the version without the shelveset change.

Jonathan Nixon
  • 4,940
  • 5
  • 39
  • 53
Steve Lewis
  • 253
  • 1
  • 7
  • 2
    Have you customized the build at all? – Dylan Smith Oct 22 '13 at 17:09
  • No. Other than changing the setting to build the latest sources with the designated shelveset, there aren't any other parameters I change when I queue the build. – Steve Lewis Oct 22 '13 at 19:30
  • Just to be clear: which build process are you using? Is it the default build process, or is it customized? I can't tell from your answer whether you are aware that build processes can be customized - not just parameterized. – John Saunders Oct 22 '13 at 19:46
  • Sorry - it's the default process. I think I've found the problem. An error occurs during the build that stops the build process, and it's only after this error that the sources on the build server are changed from "Latest Version + Shelveset" to just "Latest version". Still not sure why that's happening, though. – Steve Lewis Oct 23 '13 at 16:51

1 Answers1

1

As far as I can tell, the latest version of the source plus the selected changeset was copied to the build server, but when a build error occurred, the sources were replaced with the latest version only.

Not sure why that happens. When it first occurred it looked as if the sources were changing from 'latest+shelveset' to 'latest' before the build error. Now that I know that's not the case, I'm not going to worry about this any longer.

Steve Lewis
  • 253
  • 1
  • 7