Geeks With Blogs
Jamie Kurtz Promoting architectural simplicty

This really bit me recently, so I want to point it out. You can read Martin Woodward's post here: http://planetscm.org/user/22/tag/tfs%20top%20tip/, but I've copied the jist of it below.

Basically, TFS 2008 will not associate any changesets to the first build for a Build Definition. This means that if you create your branch, then create a corresponding Build Definition, then make a bunch of changes to the branch (i.e. the changesets) BEFORE running your first build, all those changesets will never be associated with any builds. Ouch!!

The reasoning for this behavior actually makes sense, as described by Martin in the link above:

The reason why Team Build 2008 works in this way is that when Team Build successfully completes a build it stores the label applied to that last good build.  The next time it runs a build that is successful it will compare the two labels to detect which changesets were included in the build.  It will then look over those changesets for any associated work items and update them to include the build number in which they were fixed.

So of course be careful when upgrading from 2005 to 2008, as you should baseline all your existing builds BEFORE making any changes to the code. If you don't, that link between your changesets and the first builds will be lost forever :(

I agree with Martin, though, that as a matter of best practice you should always run a build from a new build definition prior to starting work on the associated branch.

Posted on Thursday, July 24, 2008 12:07 PM | Back to top


Comments on this post: Missing changeset <-> build associations

No comments posted yet.
Your comment:
 (will show your gravatar)


Copyright © Jamie Kurtz | Powered by: GeeksWithBlogs.net