My build retention policy deletes Details, Drop Folder, and Symbols only, after 20 successful builds. However, my Global List with build labels is only retaining the last 10 builds. All builds were being retained in the global list before my recent upgrade from TFS 2010 to TFS 2013.
I have verified that the builds are not being removed early - the drop folders still have all of the build items in them. If I use the label sidekick, I also still see the labels, so I think they are still there. They only seem to be dropped from the global list, making them unavailable for selection in work items.
Just in case there is a limit on items in the Global List, I just manually removed some of the older builds. That does not seem to have made a difference.
Another thing I noticed, which is probably unrelated, but still annoying - the build labels now contain slashes where they didn't before. For example:
Build generated in TFS 2010: OS.Main_20150423.3
Build generated in TFS 2013: OS.Main/OS.Main_20150511.1
This makes finding the new builds in the (rather long) global list more difficult, so I'd like to get rid of the slash. The build definition still shows the format without the extra "pre-slash" part:
Build Number Format: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)
Is there some new setting that could have been turned on during my upgrade?
I am still using TFS 2010 Build Controller and Build Agents.
Build global list has a default size of 10 items. You can change this value by updating TFS registry setting. Here's the SQL script to do it:
DECLARE @registryUpdates typ_KeyValuePairStringTableNullable
INSERT @registryUpdates ([Key], [Value])
VALUES ('#\Service\WorkItemTracking\Settings\MaxBuildListSize\','<new value>')
EXEC prc_UpdateRegistry 1, 'Test', @registryUpdates, 1
You can either run it in the Tfs_Configuration database to set it at the server level or in the TFS collection database to set it only for that collection.