在尝试访问我们的TFS 2010服务器时,我们没有从Linux中的TF CLC命令获得任何反馈

时间:2022-06-21 22:13:38

I have been working with one of our Linux administrators to get command-line access to our TFS server from our Linux environment, and we aren't being very successful.

我一直在与我们的Linux管理员合作,从Linux环境中获取对TFS服务器的命令行访问权限,而且我们并不是很成功。

When using the TF command to log in, we receive no feedback at all from it, nothing as to whether the login was successful or not, nor are we prompted for a password. We are able to get normal feedback from it if we use the Help command, in which case, we get the help for whichever command we're looking for.

使用TF命令登录时,我们根本没有收到任何反馈,也没有关于登录是否成功的提示,也没有提示输入密码。如果我们使用“帮助”命令,我们可以从中获得正常的反馈,在这种情况下,我们可以获得我们正在寻找的任何命令的帮助。

There is nothing in the Event Viewer logs on the TFS server, nor on the Linux machine pertaining to these attempted and (failed?) login attempts. We have confirmed that we can access the TFS web service from the Linux machine, and that the person testing has access to at least one Team Project.

TFS服务器上的事件查看器日志中没有任何内容,Linux机器上也没有与这些尝试和(失败?)登录尝试有关的日志。我们已经确认我们可以从Linux机器访问TFS Web服务,并且测试人员可以访问至少一个团队项目。

Per the article here: http://msdn.microsoft.com/en-us/library/hh190725(v=vs.100).aspx we should receive a prompt for credentials, or at least a password, if either/both are not specified:

根据这里的文章:http://msdn.microsoft.com/en-us/library/hh190725(v = vs.100).aspx我们应该收到凭据提示,或者至少是密码,如果其中一个/两个都是未标明:

"You will be prompted to specify your credentials if you have not stored them and you try to run a tf command without this option. If you try to run a tf command with this option but you do not specify a password, you will be prompted to specify one."

“如果你没有存储它们并且你试图在没有这个选项的情况下运行tf命令,系统将提示你指定你的凭据。如果你尝试使用这个选项运行一个tf命令但你没有指定密码,你会被提示指定一个。“

Current setup:

目前的设置:

TFS Server is running Windows Server 2008 R2 with Team Foundation Server 2010

TFS服务器正在运行带有Team Foundation Server 2010的Windows Server 2008 R2

Linux environment is running Red Hat Enterprise Linux Server release 5.8 (Tikanga) with JRE 1.7 and Team Explorer Everywhere CLC 12.0.1 downloaded from http://www.microsoft.com/en-us/download/details.aspx?id=40785

Linux环境下运行的红帽企业Linux服务器版本5.8(Tikanga)与JRE 1.7和团队资源管理器无处不在CLC 12.0.1从http://www.microsoft.com/en-us/download/details.aspx?id=40785下载

The TEE CLC was installed per instructions in the download page, and we do not use Eclipse. Exact install steps (Which were less than helpful):

根据下载页面中的说明安装了TEE CLC,我们不使用Eclipse。确切的安装步骤(这些步骤不太有用):

To install the Cross-Platform Command-Line Client for Team Foundation Server
1) Unzip the archive (TEE-CLC-12.0.0.zip file) that contains the client.
2) Configure your shell or system path to include the folder to which you unzipped the archive.
3) To verify that the client is working, at a command prompt, type tf, and then press the ENTER key.
If the client is correctly installed, output appears, starting with "Microsoft Team Explorer Everywhere Command-line Client (version 12.0.0)".

We do get the "Microsoft Team Explorer Everywhere Command-line Client (version 12.0.0)" verbiage when we run tf by itself.

Here are the list of commands tried on the Linux machine:

以下是在Linux机器上尝试的命令列表:

tf -login
tf -login:<username>
tf -login:<username>@<companyurl>.com
tf -login:<username>@<domain>
tf -login: <username>@<domain>
tf -login:<username>@<domain>
tf -login:<username>@<tfsservername>
tf -login:<username>@<tfsservername>.<companyurl>.com
tf -login: <username>@<tfsservername>.<companyurl>.com
tf -login:http://<tfsservername>:8080/tfs/<username>
tf -login: <username>@http://<tfsservername>:8080/tfs
tf -login: <username>@<tfsservername>
tf -login:<username>@<tfsservername>
tf -login:<username>@http://<tfsservername>:8080/tfs
tf -login:<username>@http://<tfsservername>:8080/tfs,<password>
tf -login:<username>@<tfsservername>
tf -login|<username>@<tfsservername>
tf -login|<username>@<domain>
tf -login:<username>@<domain>,<password>
tf -login:<username>@<domain>,
tf -login:<username>@<companyurl>
tf -login:<username>@<domain>
tf -login:<username>@<domain>,<password>
tf -login:<username>@<domain>,
tf -login:<username>@<domain>,
tf -login:
tf -login:<domain>\<username>,<password>
tf -login:<domain>\<username>,<password>
tf -login:<username>@<domain>
tf -login:<username>@<domain>
tf -login:<username>
tf -login:<domain>\<username>
tf -login:http://<tfsservername>:8080/tfs\<username>
tf -login:<domain>\<username> -server:http://<tfsservername>:8080/tfs
tf -login:<domain>\<username> -server:http://<tfsservername>/tfs
tf -login:<username>@<domain> -server:http://<tfsservername>/tfs
tf -login:<username>@<domain> -server:http://<tfsservername>/tfs
tf -login:<username>@<domain>,<password>
tf -login:<username>@<domain>,
tf -login:<username>@<domain> -server:sudo less /var/log/messages
tf -login:<domain>\<username> -server:http://<tfsservername>:8080/tfs
tf -login:<username>@<domain>  -server:http://<tfsservername>:8080/tfs
tf -login:<username>@<domain>  -server:http://<tfsservername>
tf -login:<username>@<domain>  -server:http://<tfsservername>/tfs
tf -login:<username>@<domain>  -server:http://<tfsservername>/
tf -login:<username>@<domain>  -server:http://<tfsservername>:8080/tfs/
tf -login:<username>@<companyurl>.com  -server:http://<tfsservername>:8080/tfs/
tf -login:<username>@<companyurl>  -server:http://<tfsservername>:8080/tfs/
tf -login:<username>@<domain>  -server:http://<tfsservername>:8080/tfs/

When we try these we get an error (Which is expected, the arguments are wrong):

当我们尝试这些时,我们得到一个错误(这是预期的,参数是错误的):

tf workspaces /collection:http://<servername>:8080/tfs/<collectionname>
An input validation error occurred: The workspace name '/collection:http://<servername>:8080/tfs/<collectionname>' contains invalid characters.  Only valid NTFS characters are permitted.
tf workspaces collection:http://<servername>:8080/tfs/<collectionname>
An input validation error occurred: The workspace name '/collection:http://<servername>:8080/tfs/<collectionname>' contains invalid characters.  Only valid NTFS characters are permitted.

(NOTE: the server and collection names are simple alphanumeric strings, no special characters at all)

(注意:服务器和集合名称是简单的字母数字字符串,根本没有特殊字符)

When we try the following commands, we get no feedback whatsoever (again):

当我们尝试以下命令时,我们得不到任何反馈(再次):

tf workspaces -collection:http://<servername>:8080/tfs/<collectionname>

tf dir $/<projectname>

tf dir $/<project name> -collection:http://<servername>:8080/tfs/<collectionname>

Per another recommendation, we looked for the ~/Microsoft/Team Foundation/4.0/Logs folder under the user profile, which doesn't exist. In fact, no folder with the case-insensitive word "Foundation" exists anywhere on the Linux machine.

根据另一个建议,我们在用户配置文件下查找了〜/ Microsoft / Team Foundation / 4.0 / Logs文件夹,该文件夹不存在。实际上,Linux机器上的任何位置都不存在不区分大小写的单词“Foundation”的文件夹。

Since we aren't receiving any feedback from the command, we have no idea what the problem could be or where our troubleshooting should take us next.

由于我们没有从命令中收到任何反馈,因此我们不知道问题可能是什么,或者我们的故障排除应该在何处接下来。

1 个解决方案

#1


1  

Logs are not in ~/Microsoft, they're in ~/.microsoft. (Note the dot.)

日志不在〜/ Microsoft中,它们位于〜/ .microsoft中。 (注意点。)

It's difficult to say what the problem is without the logs: you're not specifying a command in the first examples, as -login is not a command, it's an option. You need to specify the login credentials option along with a command. For example:

如果没有日志,很难说出问题是什么:你没有在第一个例子中指定命令,因为-login不是命令,它是一个选项。您需要指定登录凭据选项以及命令。例如:

tf workspaces -login:... -collection:...

But without the logs, it's difficult to tell what the problem is.

但是没有日志,很难说出问题所在。

#1


1  

Logs are not in ~/Microsoft, they're in ~/.microsoft. (Note the dot.)

日志不在〜/ Microsoft中,它们位于〜/ .microsoft中。 (注意点。)

It's difficult to say what the problem is without the logs: you're not specifying a command in the first examples, as -login is not a command, it's an option. You need to specify the login credentials option along with a command. For example:

如果没有日志,很难说出问题是什么:你没有在第一个例子中指定命令,因为-login不是命令,它是一个选项。您需要指定登录凭据选项以及命令。例如:

tf workspaces -login:... -collection:...

But without the logs, it's difficult to tell what the problem is.

但是没有日志,很难说出问题所在。