Questions related to Buddy Build

Jan 22, 2009 at 9:57 PM

1) I scheduled a Check-in validation build and my shelveset got checked in successfully after a successful build but in the source control explorer it still shows as a pending change. Is it a bug?

2) I am scheduling Check-in validation build. I selected second option, "Shelve my current pending changes for me" , but then "Queue Build" button got greyed out. Is that functionality available in the tool?

3) In the Buddy Build settings, I have selected "Default Check-in on Successful build" and TRUE. If I scedule a "Regular Build" by clicking on Buddy Build menu, will the pending changes be checked in?

4) In the build log, I see the warning as following, but I didn't specify a changeset number 0 

 

0 is not a valid changeset number. Please specify a number between 1 and 2147483647.

The previous error was converted to a warning because the task was called with ContinueOnError=true.
 

 

Coordinator
Jan 22, 2009 at 11:16 PM
1) Are you referring to the pending changes you have in your workspace? If so, after the checkin is successful, you can undo those changes. Alternatively, if you uncheck the "Preserve pending changes locally" checkbox when selecting "Shelve my current pending changes for me", then the pending changes will be undone in your workspace before the shelveset is sent to Team Build for performing the buddy build. If this is not the case, please let us know.
2) This is a bug that will be fixed in the next release. If you click "Shelve my current pending changes for me" before selecting the project/build agent, it will not enable the "Queue Build" button until you select the "Add existing shelvesets" radio and then select the "Shelve my current pending changes for me" radio button.
3) No, this setting only applies to a Buddy Build. Regular builds will not use any shelved or pending changes and will not attempt to check in any code.
4) Can you provide more details on what caused this error. If you can also paste the entries in the build log around the error so we can take a look, that would be great.

Thanks. 
Jan 23, 2009 at 5:53 PM
The log for the error:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets(1068,5,1068,5): warning : 0 is not a valid changeset number. Please specify a number between 1 and 2147483647.

The previous error was converted to a warning because the task was called with ContinueOnError=true.

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: The "GenCheckinNotesUpdateWorkItems" task failed unexpectedly.

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: Microsoft.TeamFoundation.VersionControl.Client.InvalidVersionSpecException: 0 is not a valid changeset number. Please specify a number between 1 and 2147483647.

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: at Microsoft.TeamFoundation.VersionControl.Client.ChangesetVersionSpec.ValidateNumber(Int32 changeset)

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: at Microsoft.TeamFoundation.VersionControl.Client.ChangesetVersionSpec..ctor(Int32 changeset)

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: at Microsoft.TeamFoundation.Build.Tasks.GenCheckinNotesUpdateWorkItems.AssociateWorkItemsChangesets(Item item, Boolean add)

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: at Microsoft.TeamFoundation.Build.Tasks.GenCheckinNotesUpdateWorkItems.AnalyzeChangesets(Item[] lastItems, Item[] currentItems)

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: at Microsoft.TeamFoundation.Build.Tasks.GenCheckinNotesUpdateWorkItems.ExecuteInternal()

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: at Microsoft.TeamFoundation.Build.Tasks.Task.Execute()

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets : warning MSB4018: at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)

The previous error was converted to a warning because the task was called with ContinueOnError=true.

Coordinator
Jan 27, 2009 at 11:20 PM

This issue typically happens during a buddy build run where the last successful build prior to the buddy build has been a regular build. It will not happen in the next buddy build or the one after until another regular build takes place. The reason it happens is because regular Team Build runs label the code based on the workspace version spec, whereas buddy builds label against the version spec used for the Get operation. The reason that the buddy build does not use the workspace version spec like the regular build does is because you want to label the original sources and you don't want the files that were unshelvesed to be considered in the labeling.

This error is benign, and that's why it is safe to ignore it. As an alternative, you can set the "Skip Labeling Buddy Builds" option to True so that buddy builds do not label the sources. This is recommended since it will save you from labeling sources for pre-checkin validation builds where you really do not care about the label since you do not need the code baseline as you would with a normal nighly or daily build.