【问题标题】:Detecting File Changes in TFS检测 TFS 中的文件更改
【发布时间】:2011-02-09 14:49:15
【问题描述】:

在 Visual Studio 中使用 TFS 的源代码管理资源管理器,有没有一种方法可以检测未首先签出的文件(甚至是目录层次结构中的新文件)的本地更改?

我们当前的客户端有一个高度断开连接的设置,因此访问 TFS 意味着位于特定的 VPN 上,这会中断与其他事物(例如内部数据库服务器和任何 Web 访问)的连接。因此,任何时候需要修改文件时,我们都需要连接、签出、断开连接,这导致我认为开发人员的心理上下文切换会脱轨(尤其是在处理大量文件并且事先不知道哪个文件时)需要修改)。

我们可以在本地工作,并在 Visual Studio 询问我们要对各种未签出文件执行什么操作时选择“覆盖”。但是,当我们想要与服务器同步时,有没有办法检测哪些文件已更改(或至少可写)?

或者也许我做错了?备份一个步骤,在绑定到 TFS 源代码控制但与 TFS 源代码控制断开连接的解决方案上工作的理想方式是什么?

【问题讨论】:

  • 您确定没有更好的 VPN 设置方法吗?例如,如果它是标准的 Windows VPN(即没有第 3 方客户端),您可以取消选中“在远程网络上使用默认网关”,它会解决此类问题(如果您需要更多详细信息,请告诉我,我将其发布为答案)。
  • @Dan Puzey:我喜欢这种方法,但我没有看到这种设置。这应该只是一个标准的 Windows VPN (Windows 7)。

标签: visual-studio-2010 tfs


【解决方案1】:

由于 David 在他的评论中建议这可能有效,因此这里是在 VPN 连接上禁用远程网关的说明。 (诚​​然,这使它更像是一个“超级用户”的答案,即使问题是 StackOverflow...)

  • 打开“网络和共享中心”
  • 点击“更改适配器设置”(左侧)
  • 右键单击您的 VPN 连接并选择“属性”
  • 在“网络”选项卡上,选择 IP4 协议(“Internet 协议版本 4”)并单击“属性”
  • 点击“高级”
  • 在“IP 设置”选项卡上,取消选中“在远程网络上使用默认网关”
  • 在所有内容上单击“确定”

我认为您必须重新连接 VPN 才能使其生效,但基本上它的作用是停止通过您的 VPN 路由 所有 网络流量,并且只路由它不能路由的东西在常规连接上找到。希望这意味着您可以同时看到 TFS 和 SQL!

祝你好运;-)

【讨论】:

  • 你说得对,它更像是一个超级用户的答案,但它至少根据问题中的条件为我完成了工作。谢谢!
【解决方案2】:

除了进行文件夹比较之外,我不知道有什么方法可以做到这一点。

您是否尝试过“离线工作”?当 VS 在启动时找不到 TFS 时,它会询问您是否要脱机工作。当它重新联系时,它会查找离线更改,并尝试同步它们。也许这会对你有所帮助。

【讨论】:

  • 直觉上这就是我认为它会起作用的方式(尽管我不是 TFS 专家),也许它应该是这样,但这里还有其他问题。由于缺乏更好的描述,Visual Studio 真的不喜欢与 TFS 服务器断开连接。离线时似乎没有跟踪任何内容。 (打开解决方案时它甚至没有提示我,它只在保存单个文件时提示我有关文件写保护。)
  • 您使用的是哪个版本的 TFS?
  • 诚实吗?我不知道。印度的一个团队管理它,他们在信息或访问方面不是很坦诚。我假设是 2008 年,因为他们最近才开始从 VS2008 迁移到 VS2010。
  • @David:在团队资源管理器中,您的服务器名称是什么?它是否以“\DefaultCollection”或类似的结尾?
【解决方案3】:

您可能已经弄清楚了这一点并继续前进,但我遇到了同样的问题并找到了解决当前问题的变通解决方案。

Microsoft 的解决方案(脱机前检查文件)将继续工作,但要在您尚未检查所有文件时将您的脱机更改实际放入 TFS(说真的,谁会确切知道您的文件将使用包含 100 到 1000 个文件的解决方案),您需要做的就是:

  1. 回到办公室后,将更改后的文件上传到您的在线解决方案(我会在做任何事情之前复制我的解决方案目录)。
  2. 从您的工作站断开所有网络连接;即,拔下以太网电缆,或关闭 WiFi。
  3. 启动 VS2010 并打开您的在线解决方案。
  4. 等待大约五分钟,直到 VS2010 超时尝试查找您的 TFS 服务器。
  5. 当 VS 要求您在离线模式下使用您的解决方案时,单击“是”。
  6. 退出VS。
  7. 重新连接到您的网络;即,插入以太网电缆或重新打开 WiFi。
  8. 启动 VS 并打开您的在线解决方案。
  9. 打开解决方案资源管理器。
  10. 在解决方案资源管理器中选择您的解决方案。
  11. 按解决方案资源管理器工具栏中的“联机”按钮。
  12. 出现“联机”对话框。您将看到所有已更改文件的列表。您可以右键单击每一个并将其与 TFS 服务器上的最新版本进行比较。
  13. 点击确定。

现在,您可以在开始离线工作之前检查所有内容以避免这种黑客攻击。

IHTH

【讨论】:

  • 哇,这相当的解决方法。我敢说我会拒绝定期这样做,否则坚持要我们解决导致这种情况的问题(愚蠢的断开连接的设置)。正如你所说,我已经继续前进(事实上,换了一份完全不同的工作,虽然我们也使用 TFS,但它的管理要好得多,这不是问题)。但是谢谢:)
猜你喜欢
  • 2018-01-06
  • 2013-04-26
  • 1970-01-01
  • 1970-01-01
  • 2013-12-31
  • 2018-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多