代码之家  ›  专栏  ›  技术社区  ›  MADCookie

TFS挂起的更改能否显示像sourcegear vault一样真正更改的文件?

  •  28
  • MADCookie  · 技术社区  · 15 年前

    我一直在使用SurcEgEug库来处理一些个人项目和Team Foundation服务器的工作项目。TFS缺少的一件事是一个简单的功能,这个功能是保管库在其“签入”对话框窗口中提供的。

    在保管库客户机中,可以查看签出的文件是否与签入的早期版本发生了更改。这里是一个 screen shot . 注意到“细节”栏吗?这就告诉你有区别。这种方法非常有用,如果您必须签出整个项目,因为您要重新生成代码。我将签出我的类库项目,然后重新生成我的codesmith模板。这样做可能只会导致一些特定的文件发生更改。当我查看挂起的签入屏幕时,我会看到真正更改的文件,我可以进行比较以查看影响。

    所以…TFS可以这样做吗?也许有第三方工具可以帮我?是否有一个TFSDK或powertool我必须得到。有人想建吗?

    5 回复  |  直到 7 年前
        1
  •  10
  •   WEFX venkateswararao    12 年前

    this page ,可以从Visual Studio命令提示符运行此命令。

    tfpt uu /noget /r *
    

    您需要安装TFS电动工具才能工作。另外,确保在命令提示下浏览到映射文件夹的根目录(例如-c:\tfs)。

    TFS电动工具链接(如果您还没有)
    TFS Power Tools for 2010
    TFS Power Tools for 2012

        2
  •  18
  •   Oleksandr G    13 年前

    选择中的所有文件 “挂起的更改” 窗口并激活上下文菜单。然后单击“ 撤消… “& “撤消更改” gt; “没有对所有人” . 档案 没有变化 将回滚。

        3
  •  7
  •   jessehouwing    7 年前

    不需要撤消未更改的文件,因为tfs会注意到它们在签入时是不变的,并且只将真正更改的文件关联起来。任何已签出但未更改的文件都将恢复为上次已知的签入版本,并且不会与您的签入关联。在TFS中(尽管没有非常清楚的文档记录)不可能签入未更改的文件。如果没有更改,它将始终恢复到以前的版本。

    您可以通过调用 ”TfPT.EXE UU/R’< /A>从命令行(您需要具有Team Foundation POWER工具),或者使用挂起的更改窗口中的“undo-change”按钮。这会立即从列表中删除任何未更改的项。这样您就可以准确地看到您要签入的内容。

    一个HReF= =“HTTP://VisualStudioGr.Real.C45A4E4-04BA-4F688F4E-CD73D6B91F”Re=“HFRF=“Htff= /VisualStudioGraleR.MSDN.MySo.COM/C662E7F-1A584FF0AEF90322DCcc2B2D”Re=“NoFoLoLoNeFror”> TFS源控制

    虽然这个选项是由

    另请参见:

    '签入时保持不变,只将真正更改的文件关联起来。任何已签出但未更改的文件都将恢复为上次已知的签入版本,并且不会与您的签入关联。在TFS中(尽管没有非常清楚的文档记录)不可能签入未更改的文件。如果没有更改,它将始终恢复到以前的版本。

    您可以通过调用 'tfpt.exe uu /r' 从命令行(您需要有Team Foundation POWER工具),或者在挂起的更改窗口中使用“撤消不变”按钮。这会立即从列表中删除任何未更改的项。这样你就能清楚地看到你要登记的东西。

    Undo unchanged option

    尽管此选项可能是由 Team Foundation Power Tools TFS Source Control Explorer Extensions (无论如何,这对于每个TFS用户都是必须的)。

    参见:

        4
  •  4
  •   MADCookie    15 年前

    我不喜欢回答我自己的问题,但看起来可能没有真正的微软解决方案。对于我来说,这就是我如何使用Visual Studio在办公室处理问题。

    1. 在我重新生成业务对象之前,我复制了整个文件夹结构
    2. 我签出整个项目或根生成的文件夹
    3. 我启动代码生成器。有时,我知道什么在改变,但有时,我可能会做很多改变,我不想错过任何东西。我的代码生成器在工作时还生成删除/创建存储过程所需的所有SQL文件。
    4. 使用SourceGear DiffMerge ,我比较刚刚生成的文件夹和以前备份的文件夹。

    这相当耗时。直到我看到保险库识别出磁盘上的文件与存储库中的文件不同,我才认为这是一个问题。

    也许大家都可以说,在使用源代码管理存储库时,如何进行代码生成/重新生成。

        5
  •  1
  •   danyim    15 年前

    我在一个公司开发环境中工作,在这个环境中,许多开发人员可能正在处理同一个文件,我们也使用TFS作为源代码控制。在我们的TFS最佳实践文档中,我们确实不鼓励签出开发人员不打算更改的文件,这样在提交变更集时,我们自然会排除没有差异的文件。

    要回答您的问题,我通常只需查看“挂起的更改”窗口并运行 比较 对于我不确定的“已更改”文件,比较工具应该立即告诉您本地副本是否与服务器副本相同。不幸的是,除了我的建议之外,没有真正的解决方案,但是我看不到一个场景,在这个场景中,我必须签出一个完整的项目分支进行编辑。

    推荐文章