【问题标题】:TFS constantly reopens files with MS Office extensionsTFS 不断地重新打开带有 MS Office 扩展的文件
【发布时间】:2016-08-09 18:30:59
【问题描述】:

一位同事最近开始对 TFS 产生一种奇怪而烦人的体验。

在他的所有 TFS 工作区中,所有具有 MS Office 扩展名的文件(例如 .docx、.ppt、.dot 等 - 其中一些甚至不是真正的 MS Office 文件)都始终保持打开状态以供编辑。撤消它们(无论是通过 MS Visual Studio GUI、tf undo 还是 tfpt uu)只工作片刻;然后它们再次显示为已打开进行编辑。

这样的文件相当多,所以这会破坏“待定更改”列表并引发提交错误。

在运行和不运行 MS Visual Studio 时都观察到。团队的其他成员没有这样的经验。

有没有人经历过这样的事情?有没有简单的解释和补救办法?

UPD

有一个发展:一些 .cs 文件开始表现出相同的行为。尝试禁用 TFPT Explorer 集成(实际上是完全卸载 TFPT),但没有任何改变。

找到了补救措施:从本地工作区切换到服务器工作区。服务器工作区似乎对这个问题免疫。还有一些缓解措施:团队资源管理器有一个名为“显示解决方案更改”的复选框。

至于现象本身,目前尚无调查进展。到目前为止,积极的病毒扫描似乎是最合理的理论。但是,我们还不能确认,因为这个小伙子没有权限在他的机器上禁用杀毒软件。

UPD2

我们还有一些观察结果:

请注意,有时文件在提交后仍保持打开状态。在提交大量文件时,所有文件的存储库都已成功更新,但有些仍保留在“待更改”列表中。

我们试图看看如果我们从磁盘上强行删除一个“讨厌的”文件然后用tf get /force 取回它会发生什么。这有效(唯一tf get /force 不删除不会),文件开始正常运行。但是,新文件变得“讨厌”。

我们还尝试在安全模式下运行计算机,然后所有撤消操作都按预期工作。

【问题讨论】:

  • 出现此问题时,您能否通过进程资源管理器检查哪个进程正在使用该文件? technet.microsoft.com/en-us/sysinternals/bb896653.aspx
  • @Eddie-MSFT,我们确实做到了。我们选择了一个文件,在 PX 中对该文件设置一个过滤器并执行tfpt uu。然后我们只观察到两个处理该文件的进程:tfpt.exe(读取和属性设置)和防病毒引擎进程(属性读取)。正如人们所期望的那样。实际上,据我了解,打开一个文件进行编辑除了删除只读标志之外不需要修改该文件。

标签: tfs


【解决方案1】:

你提到有提交错误。文件是否真的在磁盘上更改或仅将其标记为已编辑(没有任何实际更改)?在第一种情况下,可能是机器上正在运行一个自动进程来更改文件。这实际上可以是任何类型的工作;它可以是一个本地压缩作业,它压缩 word 文档,甚至机器感染了试图复制的宏病毒。在第二种情况下,它可能是一个激进的病毒扫描程序,它会在宏注释为干净之前临时删除宏。诊断它的最佳方法是使用 sysinternals 中的 procmon,看看是什么打开了对这些文件的写入。

【讨论】:

  • 感谢您的意见。这些文件并没有真正改变:tfpt uu 将它们列为未更改并撤消它们。病毒和防病毒版本似乎都值得怀疑,因为它们都不应该费心通知 TFS 打开文件。一项实验表明 TFS 不会自动跟踪文件 - 我们更改了磁盘上的文件,而 TFS 并不关心(tf status 之后显示没有挂起状态)。而且,.dot 文件很多,但都是 Graphviz 的,不是 MS Office 的;但它们也被打开了。当然,我们正在尝试使用procmon 进行调查;目前还没有结果。
  • 有时,powertools 的资源管理器集成可能会以这种方式失控,但这通常仅限于预览功能(.dot 通常不应触发的功能)。您可以尝试禁用它(使用软件中的更改选项),看看是否有影响。
猜你喜欢
  • 2023-03-09
  • 1970-01-01
  • 2018-10-12
  • 2019-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多