Resolves an incorrect conflict resolution for a merge operation in TFS 2010 and adds two APIs that reset the check-in date in TFS 2010

INTRODUCTION

This article describes a hotfix for Microsoft Team Foundation Server (TFS) 2010. This hotfix resolves the following issue and adds a new feature.

Issue 1

Consider the following scenario:

  • You try to perform a merge operation between two branches in the Team Foundation Version Control in TFS 2010. For example, you merge the Main branch and the Development branch.

  • Some changes are merged from the Main branch to the Development branch to create the last changeset in the Development branch.

  • You change the contents of an item in the Main branch.

  • You try to merge the same item from the Development branch to a version of the Main branch that is earlier than the latest version.

In this scenario, the item from the Development branch is incorrectly copied to the Main branch. Additionally, the correct conflict and conflict resolution options are made unavailable. 

Note This issue does not occur if you perform a merge operation by using the tf.exe /conservative command.

Feature 1

This hotfix adds an object model that uses the following two APIs. You can use these APIs to write a custom migration tool to change the check-in date.

  • VersionControlServer.ResetCheckinDates method

    To call the VersionControlServer.ResetCheckinDates method, use the following syntax:public void ResetCheckinDates(DateTime lastCheckinDate)
    The VersionControlServer.ResetCheckinDates method is used to reset the check-in date for all changesets in a team project collection. The lastCheckinDate parameter indicates the time that you expect to reset all existing check-in files on a TFS 2010 server.

    Note The changesets reset at the specified time to the second.

    To use the VersionControlServer.ResetCheckinDates method, you must meet the following conditions:

    • You must have AdminConfiguration permission to run the migration tool.

    • The team project collection contains fewer than 10 changesets.

    • The lastCheckinDate parameter is not earlier than the current time on the TFS 2010 server.

  • WorkspaceCheckInParameters.CheckinDate property

    This property specifies time for the check-in files that are being changed on the TFS 2010 server.

    To use the WorkspaceCheckInParameters.CheckinDate property, you must meet the following conditions:

    • You must have the CheckinOther permission for all changes that are being checked in.

    • You do not define a CheckinDate time that is earlier than the last check-in time on the team project collection or than the current time on the TFS 2010 server.

    • The check-in date between two check-in changes is not less than 3 milliseconds. SQL Server has a precision of 3 milliseconds.

Resolution

Hotfix information

A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next that contains this hotfix.

To resolve this problem immediately, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft website:

http://support.microsoft.com/contactus/?ws=supportNote In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Prerequisites

To apply this hotfix, you must be running the application tier of the Team Foundation Server 2010.

Restart requirement

You do not have to restart the computer after you apply this hotfix.

Hotfix replacement information

You have to restart the computer if the affected files are being used.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

Visual Studio 2010

File name

File version

File size

Date

Time

Platform

Leviewer.exe

10.0.30319.379

117,584

25-Oct-2010

03:16

x86

Leviewer.resources.dll

10.0.30319.379

37,216

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.admin.dll

10.0.30319.379

20,491,128

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.build.controls.dll

10.0.30319.379

1,349,520

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.build.jobservice.extensions.dll

10.0.30319.379

30,120

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.build.processcomponents.dll

10.0.30319.379

62,880

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.build.server.dll

10.0.30319.379

439,688

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.build.workflow.dll

10.0.30319.379

651,152

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.common.dll

10.0.30319.379

516,992

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.configuration.commands.dll

10.0.30319.379

262,560

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.framework.server.dll

10.0.30319.379

1,094,544

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.jobservice.extensions.core.dll

10.0.30319.379

58,280

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.jobservice.labmanagerjobs.dll

10.0.30319.379

91,048

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.activities.dll

10.0.30319.379

763,792

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.controller.common.dll

10.0.30319.379

236,448

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.controller.virtualmachinemanagerinterface.dll

10.0.30319.379

83,408

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.execution.dll

10.0.30319.379

757,128

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.leviewer.dll

10.0.30319.379

440,712

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.servicing.dll

10.0.30319.379

58,248

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.testintegration.server.dll

10.0.30319.379

145,832

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.uiutils.dll

10.0.30319.379

266,120

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.workflow.activities.dll

10.0.30319.379

436,640

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.lab.workflowintegration.server.dll

10.0.30319.379

122,800

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.management.controls.dll

10.0.30319.379

2,355,096

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.server.deploy.tfcollection.dll

10.0.30319.379

480,680

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.activities.common.dll

10.0.30319.379

307,128

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.activities.dll

10.0.30319.379

1,509,288

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.activityruntime.dll

10.0.30319.379

214,960

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.client.dll

10.0.30319.379

597,408

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.client.wpfcontrols.dll

10.0.30319.379

254,392

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.clientpackage.dll

10.0.30319.379

72,624

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.common.dll

10.0.30319.379

33,696

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.controller.dll

10.0.30319.379

119,720

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.controls.dll

10.0.30319.379

417,184

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.testmanagement.controls.wpfworkitemcontrols.dll

10.0.30319.379

99,280

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.versioncontrol.client.dll

10.0.30319.379

694,176

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.versioncontrol.common.dll

10.0.30319.379

230,304

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.versioncontrol.controls.dll

10.0.30319.379

4,435,872

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.versioncontrol.server.dll

10.0.30319.379

614,816

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.webaccess.controls.dll

10.0.30319.379

618,392

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.webaccess.server.dll

10.0.30319.379

486,800

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.webaccess.workitemtracking.dll

10.0.30319.379

382,376

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.workitemtracking.adapter.dll

10.0.30319.379

284,576

25-Oct-2010

03:16

x86

Microsoft.teamfoundation.workitemtracking.server.dataaccesslayer.dll

10.0.30319.379

587,720

25-Oct-2010

03:16

x86

Microsoft.visualstudio.qualitytools.common.dll

10.0.30319.379

1,332,624

25-Oct-2010

03:16

x86

Microsoft.visualstudio.qualitytools.controllerobject.dll

10.0.30319.379

273,832

25-Oct-2010

03:16

x86

Microsoft.visualstudio.qualitytools.executioncommon.dll

10.0.30319.379

448,936

25-Oct-2010

03:16

x86

Microsoft.visualstudio.qualitytools.resource.dll

10.0.30319.379

958,872

25-Oct-2010

03:16

x86

Microsoft.visualstudio.qualitytools.vsip.dll

10.0.30319.379

349,072

25-Oct-2010

03:16

x86

Microsoft.visualstudio.testtools.datacollection.videorecorder.dll

10.0.30319.379

60,352

25-Oct-2010

03:16

x86

Microsoft.visualstudio.testtools.manualtest.common.dll

10.0.30319.379

810,408

25-Oct-2010

03:16

x86

Tfsbuildservicehost.exe

10.0.30319.379

190,312

25-Oct-2010

03:16

x86

Tfsconfig.exe

10.0.30319.379

43,344

25-Oct-2010

03:16

x86

Tfslabconfig.exe

10.0.30319.379

113,496

25-Oct-2010

03:16

x86

Microsoft.VisualStudio.DataCollection.VideoRecorder.dll.config

Not applicable

2,055

15-Sep-2010

15:20

Not applicable


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

The following code is an example of code that uses the WorkspaceCheckInParameters.CheckinDate property: PendingChange[] pcs = workspace.GetPendingChanges(); WorkspaceCheckInParameters param = new WorkspaceCheckInParameters(pcs, "test"); param.CheckinDate = DateTime.Parse("2001-01-01", CultureInfo.CurrentCulture, DateTimeStyles.AssumeLocal);

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×