如何重新启用对TFS的提交? 我的公司使用VisualStudioTeam服务(以前VisualStudio在线,Team Foundation Service)。作为一名开发人员,我使用git tf来处理git的工作。为了应用持续集成,我让Jenkins运行一个从Team Services获取代码的插件,该插件使用

如何重新启用对TFS的提交? 我的公司使用VisualStudioTeam服务(以前VisualStudio在线,Team Foundation Service)。作为一名开发人员,我使用git tf来处理git的工作。为了应用持续集成,我让Jenkins运行一个从Team Services获取代码的插件,该插件使用,tfs,jenkins,azure-devops,git-tf,Tfs,Jenkins,Azure Devops,Git Tf,最近在提交给团队服务期间,出现了以下消息: gottfried@lubuntu-虚拟机:~/git\u repo$git tf checkin 签入$/fireAnalytics:12%,提交a0bfea1 git tf:由于以下错误,未能挂起对TFS的更改。 请修复错误并重试签入。 TF10151:无法锁定项 $/fireAnalytics/packages/fdssuite/src/fdssuite/tests/coach_devices.png 退房。项目 $/fireAnalytics/

最近在提交给团队服务期间,出现了以下消息:

gottfried@lubuntu-虚拟机:~/git\u repo$git tf checkin

签入$/fireAnalytics:12%,提交a0bfea1
git tf:由于以下错误,未能挂起对TFS的更改。 请修复错误并重试签入。 TF10151:无法锁定项 $/fireAnalytics/packages/fdssuite/src/fdssuite/tests/coach_devices.png 退房。项目 $/fireAnalytics/packages/fdssuite/src/fdssuite/tests/coach_devices.png 由Sascha Gottfried在Hudson hhpberlin工作区检查 fireanalytics大师

上述工作区(工作区Hudson hhpberlin fireanalytics MASTER)由Jenkins CI server创建(TFS插件使用TEE-CLC)。提到的文件是在运行集成测试的构建步骤期间创建的,不受版本控制

工作区设置为使用TFS插件选项“使用更新”。 引自

如果选中此选项,则工作区和工作文件夹将不会显示 将在生成结束时删除。这使得构建速度更快,但是 构件在构建之间保留。如果未选中,插件将 创建一个工作区,并在开始时将其映射到本地文件夹 生成,然后在生成结束时删除工作区


我的CI设置如何影响TFS签入以及如何解决此问题?

二进制文件由TFS以独占方式签出,因为无法合并对文件所做的任何更改。看起来您已在工作区中以自己的名义签出此文件。您需要在另一个工作区中撤消签出(或至少撤消锁定)。您可以从源代码管理资源管理器或命令行执行此操作

从标准命令行发出

tf undo/workspace:“Hudson hhpberlin fireanalytics MASTER”;“Sascha Gottfried”“$/fireAnalytics/packages/fdssuite/src/fdssuite/tests/coach_devices.png”

我怀疑CLC命令行将非常类似(但我目前没有可用的检查工具)

使用构建帐户时,将其配置为非独占签出,并确保在构建失败时(在门控签入的情况下)释放锁定的文件,可能更安全。这类情况通常发生在构建最新+搁置集的封闭签入上,但由于某种原因失败,使搁置集中的文件保持签出状态。对于二进制文件,这些签出将是独占的


您还可以将TFS配置为从不以独占方式签出二进制文件。在VisualStudio中,您将在Team > Team Foundation Server设置>源代码控制文件类型下找到这些设置。

< P>显然,詹金斯CI服务器在我的TFS提交期间触发了一个新的构建,因为詹金斯作业被设置为每分钟轮询TFS RePO。我暂时关闭了Jenkins CI,TFS提交再次成功。

显然,git tf提交期间触发的CI构建是该错误的原因。可能吗?我问吉特-tf@Codeplex关于这一点。是的,这是可能的。在git tf开发人员提示之后,我在git tf签入期间临时禁用了CI服务器。成功了。我喜欢你的答案,因为它揭示了关于只读和独占签出的细节以及控制这种行为的方法。但这并没有帮助我解决我的问题。你现在怎么办?只需在问题上加上你自己的答案,接受这个答案,并留下我的作为参考。您可以随时要求所有同事+1它;)。