使用 TFS 命令行 tf.exe 如何将存储库复制到我选择的文件夹位置?

2024-03-12

我已开始在我的 MSVC 2015 C++ 项目中使用 TFVC。我习惯了像 git/svn 这样的命令行存储库,我可以简单地进行签出/克隆等...并将文件复制到我喜欢的任何文件夹中。

因此,我已通过 MSVS2015 GUI 将工作区检出到映射位置 (c:\myworkspace)。但现在我想运行我的自动测试脚本,它将最新文件从存储库复制到当前目录(例如 c:\autorun)。自动测试脚本构建、测试并生成结果等......但是我don't希望它能够覆盖我工作区中的内容,以防其他人添加更改。

我希望它转到我选择的另一个文件夹。

在 Git 中,我只需导航到文件夹 (cd c:\autorun),然后执行git clone <repo-path>。但我不明白 TFVC 的工作区如何实现这一点。

到目前为止,我已经开始修改与 git 一起使用的脚本来得到这个:

' Clean any existing files:
rmdir /S /Q <projname>

' Checkout project
tf checkout <projname> /recursive

' Do other stuff (build test etc...)

但这仅适用于我的 c:\workspace - 而且我不想删除/覆盖我的本地更改。


您可以使用以下命令创建新的(临时)工作区

cd temp
md newfolder
tf vc workspace /new ...
tf vc workfold /map $/Project/Folder c:\temp\newfolder
cd newfolder
tf vc get . /recursive
tf workspace /delete

或者您可以使用 Neno Loje 编写的小实用程序,Tfs导出 http://blogs.msmvps.com/vstsblog/2011/03/14/download-files-from-tfs-version-control-and-set-the-file-last-access-timestamp-to-the-file-s-last-check-in-time/.

从OP更新

假设我从要将项目提取到的文件夹开始。我使用了以下内容:

tf dir 显示我拥有的存储库:

D:\sandbox\tfs-test > tf dir
$/:
$tfsRepo1 
$tfsRepo2
$tfsRepo3 

我只想要前两个存储库:

tf vc workspace /new /noprompt cit
tf vc get tfsRepo1 /recursive
tf vc get tfsRepo2 /recursive

然后整理一下:

tf workspace /delete cit /noprompt
rmdir /S /Q tfsRepo1 
rmdir /S /Q tfsRepo2

请注意在各个地方使用 /noprompt,以便不需要用户交互。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 TFS 命令行 tf.exe 如何将存储库复制到我选择的文件夹位置? 的相关文章

  • 防止从 false 到指针的静默转换

    我有一个函数 void foo int bar 如果我像这样调用 foo Visual Studio 2012 现在将顺利编译且不会出现警告 int main foo false return 0 但是 如果我将 foo false 更改为
  • 字符串到数组,按第三个字/列排序

    我有一个包含数字 单词和换行符的字符串 我将其拆分为一个数组 如果我跑Array Sort lines 它将按第 1 列对数组进行数字排序 Number 我怎样才能按第 3 列的字母顺序对数组进行排序 Color 注意 它们不是真正的列 只
  • 在 Visual Studio 2010 中标准化行结尾

    我们有多个开发人员在开发一个应用程序 似乎每当一个特定的人在处理一个文件时 其他人在处理该文件时 他们都会得到 以下文件中的行结尾不一致 你想要 标准化行结尾 Visual Studio 中是否有一些选项可供开发人员更改 这样我们就不会一直
  • 使用VB.NET查找当前登录用户的用户名

    我正在尝试获取当前用户的用户名 当我登录时Johnny Smith并在没有管理员权限的情况下运行我的应用程序 它将返回正确的用户名 Johnny Smith 但问题是 当我右键单击并选择 以管理员身份运行 时 Windows 将提示我管理员
  • 在 TFS 2012 中使用持续集成进行自动部署

    我已经为 WCF 项目设置了持续集成 并希望使用 MSBuild 参数自动将应用程序部署到远程服务器 但它没有部署 运行新的构建时 所有测试都会通过并且所有项目都会构建 但网站尚未部署 另外 我没有从构建中收到任何错误 表明出现了任何问题
  • 预编译头和 Visual Studio

    有没有办法设置 Visual Studio 解决方案参数 以便它只创建预编译头而不构建整个解决方案 具体来说 它是一个巨大的 C 解决方案 本身有许多项目 谢谢 仅选择 pch 创建者源文件 通常是 stdafx cpp 然后编译该文件 C
  • 我无法在剃刀视图中设置断点

    我知道可以在 MVC Razor 视图中设置断点 但出了点问题 它不再工作了 我尝试重新启动 Visual Studio 2013 并更改调试的一些选项 你有什么建议吗 感谢弗拉基米尔 我能找到解决方案 我必须清理并重建整个解决方案 我之前
  • 如何在 IIS 8 中远程停止/启动应用程序池

    注意 每条线使用一行 我在 IIS 6 中使用了这些命令 它们工作得很好 Start get wmiobject namespace root MicrosoftIISv2 computername REMOTE SERVER class
  • 发送WM_SETTEXT时如何避免EN_CHANGE通知?

    我有一个 CEdit 派生控件 当基本数据为空时 该控件显示字符串 N A 我最近添加了代码 以在控件获得焦点时清空控件 SetWindowText 并在用户离开焦点时将其设置回 N A SetWindowText N A 控空 唯一的问题
  • Home 键转到 Visual Studio 中的行首吗?

    Visual Studio 中的哪个选项可以让 Home 键转到行首 现在你必须做 Home Home or Home Ctrl Left Arrow 我希望 home 位于该行的开头 我以前见过 但现在找不到了 在 工具 自定义 键盘 中
  • 在工作区中找不到文件

    我使用 Visual Studio 2010 professional 和 TFS 作为源代码控制 一切正常 早上我来打开我的解决方案 它以离线状态打开 我尝试上网 它说 Workspace for this solution could
  • 在 Visual Studio 2017 中调试 C++ 应用程序不会进入我的代码。有办法关掉它吗?

    好吧 在调试时 例如当我在简单的字符串声明上设置断点时 string a 然后按 f11 步入 我的调试器步入xstring文件 我不想要它 我希望它只进入我的代码 这适用于 C 项目 但不适用于 C 项目 How I defined it
  • 将 TFVC 代码从一个集合移动到另一个集合(包括历史记录)

    我需要将一些代码从一个项目集合中的 TFVC 移动到另一个集合中的项目 我还需要保留签入历史记录 我不担心更改集 ID 但确实希望保留历史记录中的评论 人物和时间以及所做的更改 被移动到的项目将是空的 这将在本地使用 TFS2017 Upd
  • 删除自动导入的自定义项目模板

    我删除了放置在导出模板文件夹中的导出 zip 文件 当然它仍然显示在 Visual Studio 的 添加新项目 对话框中 我预料到了这一点 但我很难找到模板文件的其他存储位置 如何删除自定义模板 Edit 我搜索了以下文件夹 以及许多其他
  • 如何在SSRS VS2008中为多个数据集应用父组

    我已经与这个问题斗争了好几天 但没有成功 我需要实现一种非常棘手的报告格式 但最主要的是所有数据集都需要按 1 个父级进行分组 我将尝试解释 假设我们有数据集1 数据集2 两者都有 AccountNumber 作为公共字段 父级 我需要在报
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • 由于继承抽象类而禁用设计器?

    我有一个项目的解决方案 那个项目中有 40 或 50 种形式 我制作了 4 个基本形式 所有其他形式都可以继承 所有 4 个基本表单都继承 System Windows Forms Form 几乎 90 的形式继承了前 2 个基本形式之一
  • Visual Studio 中的 C++ 代码片段支持吗?

    我正在用本机 C 而不是 C CLR 编写代码 我知道片段管理器和片段选择器接口没有对 C 的内置支持 但是我发现了一个名为 snippy 的实用程序 据说它可以生成 C 片段 这是程序生成的 C 代码片段
  • 与 Qt 项目的静态链接

    我有一个在 Visual Studio 2010 Professional 中构建的 Qt 项目 但是 当我运行它 在调试或发布模式下 时 它会要求一些 Qt dll 如果我提供 dll 并将它们放入 System32 中 它就可以工作 但
  • 为什么版本控制系统缺乏 Visual Source Safe 的共享功能?您使用并认为哪些源代码控制值得尝试?

    我们正在寻找一种版本控制系统来改变我们当前的源安全系统 我们将它与 Visual Studio 一起使用 到目前为止 我们已经失败了 主要原因是我们看到的所有替代方案都不支持 VSS 的一项或多项功能 尤其是我们广泛使用的一项 文件共享 那

随机推荐