Resolve Conflicts between Two Files
An advantage of using Team Foundation version control to manage your files is that multiple people can work concurrently on an asset such as a source-code file. However, allowing work to occur concurrently on the same file means that sometimes you will have to resolve conflicts.
When you try to perform any of the following operations, a conflict can occur:
Get or check in a file, a conflict can occur between the version in your workspace and the version on the server.
Merge from one branch to another, a conflict can occur between the version of the file in the source branch and the version of the file in the target branch.
Perform a roll back operation using the tf rollback command, a conflict can occur between the current version of the file and the version that you are trying to create.
While it can be frustrating to encounter conflicts when you are trying to complete an operation, Team Foundation version control provides you with information to help you understand the cause of the conflict, and tools that you can use to resolve the conflict. In many cases, you can use automatic operations such as AutoResolve All or AutoMerge to quickly resolve one or more conflicts.
In this Article
Manage which Conflicts Are Displayed
Get More Information about a Conflict
Resolve Conflicts
Required Permissions
To perform these procedures, you must have the Read permission for the item in the source path and Check out permission for the item in the target path set to Allow. If you are renaming the item in the target path, you must have the Check out permission for both the source path and the target path set to Allow. If a lock is involved, you must have the Lock permission set to Allow. For more information, see Team Foundation Server Permissions.
Manage which Conflicts Are Displayed
The Conflicts channel of the Pending Changes window appears automatically when an operation you are attempting to perform is blocked by one or more conflicts. By default, the window shows only the conflicts caused by the most recent operation you attempted. When the window is in this state, a message appears that begins: Path filter applied…
However, you can make the window display all conflicts that are blocking all pending changes in your workspace by performing the following steps:
To show all conflicts in your workspace
If the Pending Changes window is not already displayed, click the View menu, point to Other Windows, and then click Pending Changes.
Click Conflicts.
Click Get All Conflicts.
After you click this button, the message displayed begins: n Total Conflicts….
If a lot of time has passed since you made changes to files in your workspace, new conflicts may have occurred during that time. You can refresh the Pending Changes window to show these conflicts by performing the following steps:
To refresh the pending changes window
If the Pending Changes window is not already displayed, click the View menu, point to Other Windows, and then click Pending Changes.
Click Conflicts.
Click Refresh.
Get More Information about a Conflict
Before you can attempt to resolve a conflict, you may need to get more information about the changes made to the file that are causing the conflict.
To get more information about a conflict
Display the Conflicts channel of the Pending Changes window (for more information, see Manage which Conflicts Are Displayed.)
Locate and select the conflict that you want to research
Read the information that is displayed in the selected conflict. For some types of conflicts, links are displayed that you can click to get additional information.
(Optional) Perform one of the following steps:
Click History to see the history of the file. If the operation that caused the conflict is a Merge or a Rollback, then you can click the menu control to the right of History and then select either Source History or Target History.
Click Annotate to view details on all changes that were made to the most recent version of the file, including who made each change and when they made it.
Click the menu control to the right of Compare and select a command.
If you are trying to…
Then select…
In order to…
Check in or get a file
Compare Local to Server
Compare the copy in your workspace to the latest version on the server.
Compare Local to Original
Compare the copy in your workspace to the version on the server that is checked out to you.
Compare Server to Original
Compare the latest version on the server to the version checked out to you.
Merge a file
Compare Source to Target
Compare the version in the source of the merge to the version in the target of the merge.
Compare Source to Base
Compare the version in the source of the merge to the last version when a merge occurred between the source and the target.
Compare Target to Base
Compare the version in the target of the merge to the last version when a merge occurred between the source and the target.
Roll back a file
Compare Source to Target
Compare the version of the file that most immediately precedes the versions that you are eliminating (the source) with the rolled back version of the file (the target) in your workspace.
Compare Source to Base
Compare the version of the file that most immediately precedes the versions that you are eliminating (the source) with the version of the file that contains the changes you are eliminating (the base).
Compare Target to Base
Compare the rolled back version of the file (the target) in your workspace with the version of the file that contains the changes that you are eliminating (the base).
Resolve Conflicts
Team Foundation version control has several tools that you can use to resolve conflicts that are blocking operations that you are trying to perform.
To select a method to resolve conflicts
Review the following table and click the method that you want to use.
Resolution Methods
Description
AutoResolve All Conflicts
The system attempts to resolve all the conflicts. You can choose to exclude some of the heuristics used by the system.
AutoMerge an Individual Conflict
System attempts to resolve one conflict. You do not have the option to exclude any of the heuristics used by the system.
Manually Resolve an Individual Conflict
You manually select an action to resolve the conflict.
To AutoResolve All conflicts
Display the Conflicts channel of the Pending Changes window (for more information, see Manage which Conflicts Are Displayed.)
Click AutoResolve All, and then select one of the following options:
Select All Conflict Types if you want the system to attempt to resolve the conflicts automatically by using all its heuristics.
Select Specific Conflict Types if you want the system to attempt to resolve the conflicts, but you want to exclude some heuristics.
The Choose Conflicts to Resolve dialog box appears. Check or clear the heuristics that you want to enable or disable, and then click AutoMerge. For more information, see Specify AutoResolve Resolution Options.
The system attempts to automatically resolve the conflicts displayed in the Pending Changes window. Any conflicts the system was unable to resolve will remain in the window; these are conflicts that must be manually resolved.
To AutoMerge a single conflict
Display the Conflicts channel of the Pending Changes window (for more information, see Manage which Conflicts Are Displayed.)
Locate and select the conflict that you want to resolve.
Tip
You can press and hold the CONTROL or SHIFT keys and then select multiple conflicts.
Click AutoMerge.
Note
If AutoMerge is disabled, then this conflict must be manually resolved.
To manually resolve a single conflict
Display the Conflicts channel of the Pending Changes window (for more information, see Manage which Conflicts Are Displayed.)
Locate and select the conflict that you want to resolve.
Tip
You can press and hold the CONTROL or SHIFT keys and then select multiple conflicts.
Within the selected conflicts, the system displays the actions that you can take to resolve the conflict. The actions displayed depend upon the conflict type, and the operation that caused the conflict.
Select an action to resolve the conflict.
See Also
Tasks
Reconcile Differences Between Two Folders
Reference
Concepts
Other Resources
Resolving Folder Differences and File Conflicts