2010-07-27 33 views
27

我一直在为一些个人项目和Team Foundation Server工作项目使用SourceGear库。 TFS缺失的一件事是Vault在其检入对话框窗口中具有的一个简单功能。TFS Pending Changes可以显示像SourceGear Vault一样真正改变的文件吗?

在Vault客户端中,您可以查看签出的文件是否从签入的旧版本更改过。以下是screen shot。注意列“详细信息”?这告诉你有一个区别。这是非常有用的方法是如果你必须检查整个项目,因为你要做代码重新生成。我会检查出我的类库项目,然后重新生成我的CodeSmith模板。这样做可能会导致只有几个特定的​​文件发生更改。当我查看待处理的检入屏幕时,我看到真正改变的文件,并且我可以比较以查看影响。

所以...... TFS能做到这一点吗?也许有第三方工具可以帮我吗?是否有我必须获得的TFS SDK或PowerTool?任何人都想建立它?

+1

我希望你能找到的东西,因为它的屁股检查单独改变每个文件一个巨大的痛苦(虽然在大多数情况下,我可能会这样做来检查是否发生了正确的更改)。 – 2010-07-27 21:36:15

+0

我正在使用TFS 2008 – MADCookie 2010-07-30 16:18:39

回答

10

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

tfpt uu /noget /r * 

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

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

+0

作品很有魅力,谢谢!非常高兴我没有必要手动撤消所有1844文件:D – 2014-10-31 19:48:30

+1

是否没有办法自动执行此操作?它需要每次运行命令。我确定我曾经工作过的地方有一个能够自动撤销未更改文件的设置,但我无法想出办法做到这一点。 – Jez 2014-11-28 12:17:31

+0

我相信*未更改的文件实际上并未在TFS中更新。这可能只是我工作中的设置。为了我自己的理智,我只想执行上述操作(在我的回答中);以确保我只是签入我实际修改过的文件。 – WEFX 2015-02-10 13:58:07

1

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

为了回答你的问题,我通常只是看一下“Pending Changes”窗口,然后运行比较上我不确定的“changed”文件 - 比较工具应该立即告诉你,如果你的本地副本与服务器副本相同。不幸的是,除了我所建议的之外,没有真正的解决方法,但是我没有看到必须检查整个项目分支进行编辑的情况。

+0

您是否使用代码生成? – MADCookie 2010-07-27 22:25:35

+0

我不确定代码生成是什么意思。但另一方面,我可以说这通常是我们开发人员在8到5之间所做的尝试:) – danyim 2010-07-27 22:38:04

+0

使用CodeSmith等工具根据数据库模式生成业务对象类来生成代码。如果你没有进行这种开发,那么你就不需要检查项目中的所有文件。 看起来格兰特克罗夫顿明白需要。 – MADCookie 2010-07-27 23:22:55

4

我不喜欢回答我自己的问题,但看起来似乎没有真正的微软解决方案。对我而言,这是我在办公室使用Visual Studio处理问题的方式。

  1. 之前,我重新生成的业务对象,我把整个文件夹结构的副本
  2. 我检查了整个项目或根生成的文件夹
  3. 我开始的代码生成器。有时候,我确切知道会发生什么变化,但有些时候,我可能会做出很多改变,我不想错过任何事情。我的代码生成器在工作时也会生成DROP/CREATE存储过程所需的所有SQL文件。
  4. 使用SourceGear DiffMerge,我比较刚刚生成的文件夹和先前备份的文件夹。

这相当耗时。直到我看到Vault确定文件与存储库的磁盘不同时,我从未将其视为问题。

也许你可以说当你使用源代码控制库的时候你是怎么做代码生成/再生的。

+0

提供的答案有什么问题? – 2012-12-05 17:20:13

17

“待修改”窗口中选择所有文件,并激活上下文菜单。然后点击“撤消...“>‘撤消更改’>‘全否’。 这些文件没有改变将被回滚。

+0

这是什么版本的Visual Studio?我在2010年没有得到这个选择SP1 – 2011-10-19 18:14:13

+0

2010 Premium SP1 – alga 2011-10-24 13:25:28

+1

它可能有助于指出这也适用于VS Team System 2008。 – danyim 2012-01-11 21:43:26

6

没有必要撤消不变的文件,TFS会注意到他们”在签入时保持不变,只会关联真正更改过的文件,任何已签出但未更改的文件都会恢复为最后一次已知的签入版本,并且不会与您的签入相关联。请检查未更改的文件,如果没有更改,将始终恢复到以前的版本。

您可以通过从命令行调用'tfpt.exe uu /r'(您需要拥有Team Foundation Power工具)或通过使用Pending changes窗口中的“Undo unchanged”按钮来快速撤销未更改的文件。这从列表中删除了立即保持不变的任何项目。所以,你可以看到你在检查什么。

Undo unchanged option

虽然它可能是这个选项是由Team Foundation Power ToolsTFS Source Control Explorer Extensions(这是一个必须为每一个用户TFS反正)加入。

参见:

+0

我使用TFS 2010,当我从VS命令提示符运行tfpt.exe uu/r它说**无法确定工作区**。你也有这个错误吗? – Alicia 2013-03-08 03:00:54

+0

是当前工作文件夹映射?如果没有,你是否提供了所需的参数? – jessehouwing 2013-03-08 18:45:33

+1

当前工作文件夹已映射。通过导航(使用命令提示符)映射到的文件夹克服了我的错误。 – Alicia 2013-04-01 22:25:37

相关问题