Resolve command (Team Foundation Version Control)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
The Team Foundation Version Control (TFVC) tf resolve
command lets you resolve conflicts between changed items in your workspace and the latest or destination versions of items on the server.
Prerequisites
To use the resolve
command, you must be either the workspace owner or have the global Administer workspaces permission set to Allow. You must also have the Read and Check out permissions for the items involved in a resolve operation set to Allow. For more information, see Default TFVC permissions.
Syntax
tf resolve [itemspec]
[/auto:(AutoMerge|TakeTheirs|KeepYours|OverwriteLocal|DeleteConflict|KeepYoursRenameTheirs)]
[/preview] [(/overridetype:overridetype | /converttotype:converttype] [/recursive] [/newname:path] [/noprompt] [/login:username, [password]]
Parameters
Arguments
Argument
Description
<itemspec>
Used to identify the file or folder for which to resolve version conflicts. If omitted, all items with conflicts are included. For more information about how TFVC parses the itemspec
to determine which items are within scope, see Use Team Foundation version control commands.
Note
You can specify more than one itemspec
argument.
<overridetype>
Used with the /overridetype
option. Specifies the encoding type of the files involved, for example binary
.
<converttype>
Used with the /converttotype
option. Specifies the encoding type, such as unicode
.
<path>
Used with the /newname
option. Specifies the new path of the affected file or folder.
<username>
Provides a value to the /login
option. You can specify a user name value as either DOMAIN\username
or username
.
Options
Option
Description
/auto
Resolves outstanding conflicts between different versions of specified items in the current workspace by using one of the following options.
If differences can't be reconciled automatically, either because the file is binary or because the workspace and server versions contain overlapping content changes, the conflict remains unresolved pending the selection of one of the manual merge options.
AutoMerge
: Automatically reconciles non-overlapping content differences between the specified workspace version of an item and the latest server version.TakeTheirs
instructs TFVC to overwrite workspace revisions with the server revision. For conflicts generated by running themerge
command, this option accepts the changes from the source of the merge and overwrites the changes in the target.KeepYours
instructs TFVC to keep your changes and discard the changes in the server version of an item. For conflicts generated by running themerge
command, this option discards the changes from the source of the merge and leaves the target unchanged.OverwriteLocal
overwrites the file in your workspace with the server version. You can use this option to resolve conflicts that arise from a writable file in your workspace.DeleteConflict
removes a conflict from the conflict table and the option/description table.KeepYoursRenameTheirs
accepts the contents and name of your file and renames their file to a new name that you specify. This option requires a single-item filespec, and you must also include the/newname
option.
/preview
Displays current conflicts but does nothing with them.
/overridetype
Specifies optional encoding for files involved in a three-way merge. The files are treated as the specified encoding. You must determine the correct encoding. TFVC saves the resulting merge output in the specified encoding in your workspace. For more information about file encodings, see Manage file types.
Note
You can't specify both an /overridetype
and a /converttotype
.
/converttotype
Specifies the encoding used for temporary conversion for the input in a three-way merge operation. The merge output is saved in the specified encoding in your workspace. This option is an advanced option and seldom used. For more information about file encodings, see Manage file types.
Note
You can't specify both an /overridetype
and a /converttotype
.
/recursive
Resolves items in the specific directory and subdirectories.
/newname
Resolves a name collision conflict. Can only be used in conjunction with AutoMerge
and KeepYoursRenameTheirs
. With AutoMerge
, /newname
is only valid with conflicts that involve rename and/or undelete. If used, you must supply a new path
.
/login
Specifies the user name and password to authenticate the user with Azure DevOps.
/noprompt
Suppresses any prompts for input.
Remarks
You can use the resolve
command to select a resolution for pending changes that conflict with the server version.
If version conflicts are detected between your version and the version on the destination server during a get, check-in, or merge operation, a prompt appears for you to select a conflict resolution by using the resolve
command. You must resolve conflicts before you can check in your pending changes.
For more information on how to use the tf
command-line utility, see Use Team Foundation version control commands.
Examples
The following example opens the Resolve Conflicts dialog box in Visual Studio so you can tell TFVC how to deal with pending changes that conflict with the server version.
tf resolve
The following example attempts to resolve all conflicts by automatically merging the changes.
tf resolve /auto:automerge