【问题标题】:How do you create new windows workspace with TFS command line client that is running on unix如何使用在 unix 上运行的 TFS 命令行客户端创建新的 Windows 工作区
【发布时间】:2014-02-12 23:08:02
【问题描述】:

我将如何使用在 aix/unix 机器上运行的 TFS 命令行客户端来运行 tf 命令。例如,我无法创建连接到 Windows 服务器上的 tfs 版本控制文件夹的本地 Windows 工作区。在 unix 机器上运行的命令行客户端版本是 (/TFS/TEE-CLC-12.0.0)。我找不到任何文档,在 unix 上运行时如何使用客户端将本地 Windows 文件连接到服务器上的版本控制文件。

【问题讨论】:

  • 你试过什么?您是否按照msdn.microsoft.com/en-us/library/cc31bk2e.aspx 的教程进行操作?
  • 感谢爱德华的链接。我正在使用独立于 Visual Studio 的命令行客户端。我的代码是 cobol,所以这里的程序员不使用 Visual Studio。我正在测试这个客户端,以改变我们维护代码存储库的方式。 1.插件在unix服务器上加载、配置和工作。 2. 我可以在我们的 tfs windows 服务器上创建工作区(我们的代码存储库就在那里)。但是我不知道如何在我的计算机上创建一个本地工作区,并通过在 unix 框中加载的插件将我的代码更改映射/连接/签入到 tfs 存储库。
  • 确实,跨平台命令行客户端(Team Explorer Everywhere 的一部分)的命令与 Visual Studio 捆绑的命令行客户端相同。您需要使用tf workspace /new 命令来创建工作区。我提供的链接中应该有示例。
  • 这些不是从 unix 服务器运行的示例。它们在 Windows 计算机的命令提示符下运行。
  • 是的,没错。但是因为——正如我所提到的——命令在 Unix 和 Windows 上是相同的,所以这不重要。如果您在运行命令时遇到问题,能否发布您遇到的问题的更多详细信息?

标签: unix tfs command-line-tool team-explorer-everywhere


【解决方案1】:

在任何平台上从服务器下载源文件都需要三个步骤:

  1. 在您的服务器上创建一个工作区。工作区包含有关您想要在服务器上的文件和本地文件的元数据。

    (从技术上讲,您不会在 服务器 上创建工作区,而是在服务器中的逻辑单元 Team Project Collection 上创建;默认情况下您的服务器上有一个名为 - 非创造性地 - “DefaultCollection”的团队项目集合。)

  2. 创建一个或多个工作文件夹映射,指示您要获取的服务器文件路径以及将它们放在本地磁盘上的什么位置。对于不复杂的项目,这就像将$/Project/Folder 映射到C:\Project\Folder/project/folder 一样简单。

  3. 执行 get,从服务器下载文件,将它们放在您在步骤 2 中配置的本地文件夹中。

例如,我有一个跨平台项目,恰好是 Team Explorer Everywhere 本身。在这种情况下,我的服务器是https://tee.visualstudio.com/DefaultCollection。我的源位于服务器上$/TEE/Main。我想把它放在我的 AIX 盒子上是/build/tee/main

服务器和服务器文件夹都没有改变,因为我不在 Windows 上。唯一改变的是 - 不出所料 - 本地路径。我将在我的 AIX 5.2 机器上完成这些步骤:

  1. 创建工作区:

    ethomson@aix:~% tf workspace -new MyWorkspace -collection:https://tee.visualstudio.com/DefaultCollection
    Workspace 'MyWorkspace' created.
    
  2. 创建从$/TEE/Main/build/tee/main 的工作文件夹映射:

    ethomson@aix:~% tf workfold -map '$/TEE/Main' /build/tee/main -collection:https://tee.visualstudio.com/DefaultCollection -workspace:MyWorkspace 
    
  3. 获取文件。 (现在已经配置了工作文件夹映射,不需要指定服务器 URL 或工作区名称,只要指定本地路径即可。)

    ethomson@aix:~% cd /build/tee/main
    ethomson@aix:/build/tee/main% tf get -recursive .
    /build/tee:
    Getting main
    
    /build/tee/main:
    Getting build
    
    /build/tee/main/build:
    Getting .project
    Getting .settings
    ...etc...
    

【讨论】:

  • 感谢爱德华的深入解释和回答。如果您的代码位于本地计算机上的 /build/tee/main,您的示例将如何工作?如果您从您的 aix 机器运行命令 cd /build/tee/main 会抛出 /build/tee/main not found 的错误,因为该路径在您的本地计算机上而不是在 unix 机器上。我的问题有意义吗?我正在处理在本地计算机上开发的 3 个移动部件,从 unix 服务器运行命令行客户端,并在单独的窗口服务器上使用版本控制代码。
  • 不,我不明白。我的本地计算机 unix box...?
  • 这就是问题所在。我们的编程设置有点不同。我们有在 aix 机器上运行的 cobol 代码,我们的代码存储库位于 windows 服务器上,我们都从本地 windows 机器登录。
  • 好吧,好吧。我不明白您想要 TFS 在这里做什么。听起来您需要部署 到AIX 机器? Team Explorer Everywhere 只会帮助您的 Unix 机器与 TFS 服务器通信。它不 - 实际上,不能 - 知道您拥有的带有一些代码的 Windows 服务器。您需要将其签入以便可以在 AIX 机器上进行操作,或者找出另一种部署机制(scp?rsync?)。除非我仍然误解你的设置?
  • 感谢爱德华的帮助。你的例子现在很有意义。命令行客户端是不是部署在aix box上?我是从位于 /opt/TFS/TEE-CLC-12.0.0 的 aix 盒子部署的。这通常吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-27
  • 2014-12-28
  • 1970-01-01
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多