Command-Line Syntax (Team Explorer Everywhere)
Now you’ve installed Cross-platform Command-Line Client for Team Foundation Server. But before you type any command, you’ll need to understand the general syntax and usage information.
In this topic
Specifying options
On UNIX computers, absolute paths start with a forward slash (/), so you use a hyphen (-) to start options. Otherwise, the Cross-platform Command-Line Client for Team Foundation Server cannot tell a path from an option.
Quoting and escaping
Unix shells support many special characters for wildcards, regular expressions, and so on. If those arguments contain characters that your shell considers special, you have to escape or quote arguments to commands. You can mark literal text in Unix shells as shown here:
To preserve the literal value of the character, precede it with a backslash (\). For example,
tf checkout -recursive $/Inventory/Client\ Suite/
To preserve the literal values of the enclosed characters, enclose text within single quotation marks (‘’). Shell variables that are referenced with a dollar sign ($) and wildcards are not expanded if they are enclosed within single quotation marks. For example,
tf checkout -recursive ‘$/Inventory/Client Suite/’
To preserve the literal value of the enclosed characters (with the exception of $, `, \, and !), enclose text within double quotation marks (“”).
Because of these exceptions, variables are expanded, subshells are still evaluated, the backslash can still be used to escape characters, and history events are still expanded. The following example shows that a backslash is still required to prevent ! from being expanded into a history event.
tf checkin -comment:”Fixed the bug\!” file.java
Server paths for Visual Studio Team Foundation Server start with a dollar sign, but Unix shells use the dollar sign to start variable expansion. Shells like sh, ksh, bash, and zsh recognize that the character in a server path that occurs after the dollar sign is not a valid variable name. Therefore, these shells pass the dollar sign to the Cross-platform Command-Line Client for Team Foundation Server unaltered.
However, shells derived from csh (including tcsh) do not parse the command line in this manner. These shells read the dollar sign and attempt to substitute a variable that matches the text that follows. Because the text that follows is a slash (/), and these shells require variable names to start with a letter, an error appears. If you use the csh or tcsh shells, you must escape the dollar signs in server paths by using a backslash or single quotation marks. Double-quotes cause the shell to try to expand the variable. Here are a few escaping and quoting examples for csh shells:
tf checkout -recursive \$/Inventory/Client\ Suite/
tf checkout -recursive ‘$/Inventory/Client Suite/’
tf checkout -recursive \$”/Inventory/Client Suite/”
Item specifications
An item specification is a local or server path that describes a file or folder that is an input parameter to an option or command for the Cross-platform Command-Line Client for Team Foundation Server. An item specification might contain a version specification suffix, separated by a semicolon. This suffix is optional. Specify the suffix only when you want to refer to a historic version of an item.
Example item specifications:
Item specification |
Description |
---|---|
$/Inventory/src |
Server path to a folder |
$/Inventory/src/Class.java |
Server path to a file |
/tmp/Inventory |
Local path (Unix) to a working folder |
/tmp/Inventory/src/Class.java |
Local path (Unix) to a file |
C:\Inventory\src |
Local path (Windows) to a working folder |
C:\Inventory\src\Class.java |
Local path (Windows) to a file |
$/Inventory/src;C4095 |
Server path to a folder at changeset 4095 |
.\Class.java;C129 |
Relative local path (Windows) to a file at changeset 129 |
./Class.java;Lrelease-1.0 |
Relative local path (Unix) to a file at label release-1.0 |
$/Inventory/src/file.txt;Wdev;john |
Server path at the version in the dev workspace that is owned by John. |
file.txt;D01/01/2007 |
Local path at January 1, 2007 Note ISO 8601 dates are supported. Dates are parsed according to the user’s locale. |
file.txt;X1067 |
Previously deleted file with deletionID 1067 |
Version specifications
A version specification is a specially formatted string that refers to a specific single version or a range of versions of an item in version control. Version specifications are used in two ways: as suffixes to item specifications (see Item Specifications earlier in this topic) and as stand-alone values to the -version option for certain commands.
Example version specifications:
Version Specification Format |
Description |
---|---|
T |
The latest version. |
Cn |
The version at changeset n. |
LlabelID |
The version at label labelID. |
Wname; owner |
The version currently in workspace name owned by owner. |
Ddatestring |
The version at the date and time specified in datestring |
XdeletionID |
The version that was deleted and given the deletionID by the server. |