【问题标题】:tfpt.exe on Visual Studio 2017Visual Studio 2017 上的 tfpt.exe
【发布时间】:2019-10-10 03:04:31
【问题描述】:

即使在为 Visual Studio 2017 安装 Productivity Power Tools 扩展后,我仍然无法运行 tfpt.exe 来执行 this post 上建议的命令:

C:\Development> tfpt unshelve "ShevesetName;UserName" /migrate /source:"$/Project/Source" /target:"$/Project/Target"

我在哪里可以找到这个程序?

【问题讨论】:

    标签: tfs tfs-power-tools


    【解决方案1】:

    Productivity Power Tools 与 TFS Power Tools 不同,这就是安装它没有帮助的原因。

    没有一套 TFS 2017 电动工具。来自 TFS 2017 release notes:

    问题:没有为 TFS 2017 发布任何电动工具。

    解决方法:我们很高兴地通知您,之前的大部分 Power Tools 已集成到 TFS 2017 中。流程模板 编辑器是尚未集成的,但我们将 将 TFS 2017 的流程模板编辑器工具发布到 Visual TFS 2017 推出后不久的 Studio Gallery。我们将提供 链接一发布就放在这里

    【讨论】:

    • 那么,tf 和 tfpt 命令在哪里(它们与模板编辑器无关,由 Team Foundation Power Tools 安装)。
    • 所以他们说要提供链接已经1.5年了,我仍然找不到。有人找到吗?
    • 我找到了这个,但还没有弄清楚如何运行有问题的命令:marketplace.visualstudio.com/…
    【解决方案2】:

    正如 Daniel 所说,它们是完全不同的两件事。一个补充:TFS 2017 Process Template Editor is available

    在您的情况下,您正尝试使用 unshelve 命令将搁置集取消搁置到 TFS 中的另一个分支。作为一种解决方法,您可以使用 tf UnshelveRename 命令分两步实现此目的。

    或者只安装早期版本的 VS 和 Power Tools,例如 VS2015 和 Microsoft Visual Studio Team Foundation Server 2015 Power Tools。毕竟,您只需将 TFS Power Tools 的版本与您的 Visual Studio 客户端匹配

    【讨论】:

    • 想详细说明下架到另一个分支的解决方法吗?
    • tf Unshelve 和 Rename 似乎无法执行与 tfpt unshelve migrate 相同的操作。从重命名文档链接:“如果...新名称已存在,则您无法重命名项目”这对于移动有意义,但对于迁移而言,开发人员很可能会更新现有项目。我看不到在 2017 年出现这种行为的方法,这很不幸,因为这是一个非常有用的边缘案例,对我来说每年都会出现几次。
    • 这是另一个明确的迹象,表明微软希望我们迁移到 git。 TFS onprem 和 Visual Studio Team Services 中的 Git 支持比微软自己的 tfs vcs 要好得多。甚至微软也更喜欢 git 而不是 tfs vc 用于自己的开发。
    • 如前所述,Rename 不能替代 tfpt migrate。
    • 我在名为 MultiMerge 的 Visual Studio 扩展中添加了 unshelve-to-branch 功能。检查此link 或使用 Visual Studio 中的工具和扩展来检查它
    【解决方案3】:

    可能的解决方法,对我有帮助!

    1. 创建一个新工作区,不要下载所有文件。
    2. 取消搁置对这个新工作区的更改,这将导致只有当前分支中修改过的文件。
    3. 比较并手动将您的更改合并到另一个分支。

    【讨论】:

    • 这不是“可能的解决方法”。这的方法。你的帖子应该是所有这些问题的答案。所有开发人员都应该至少有 2 个命名空间。否则你怎么工作?大多数时候你在一个项目上工作,然后一个错误出现了。你不想混合这些......我一直在多个工作区工作。 1 用于 bug,1 用于合并,1 用于日常工作。
    【解决方案4】:

    您可以使用git-tfs 来完成此操作。您应该执行的步骤是(在安装 git 和 git-tfs 之后):

    1. create 来自搁置集 (git_branch_a) 的 git 分支。
    2. initialize 基于 TFS 目标分支 (tfs_branch_b) 的 git 分支 (git_branch_b)。
    3. 将 git_branch_a 合并到 git_branch_b 中。
    4. 基于 git_branch_b create 一个搁置集。
    5. 现在可以在 tfs_branch_b 中取消搁置新搁置集。

    【讨论】:

    • OP 使用的是 tfs vc,而不是 Git。更不用说 Git 和 tfs vc 在分支方法上的差异需要 2 个单独的 Git 存储库才能将文件放入代表 tfs vc 分支的新路径中。
    • 致@JoshGust 和其他反对者:您似乎对 git-tfs 是什么感到困惑。它是一个独立项目,比 TFS 中的 git 支持早了很多年,并且与它没有任何关系。相反,它为一个项目创建并维护一个本地 git 存储库,否则它会使用 TFS VC 进行跟踪,这比仅仅移动搁置集要大得多。
    猜你喜欢
    • 2018-01-31
    • 2018-04-15
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多