【问题标题】:TF26198 error when doing git tfs rcheckin执行 git tfs rcheckin 时出现 TF26198 错误
【发布时间】:2014-02-24 08:29:49
【问题描述】:

我们在工作中使用 TFS 2010,我使用 git-tfs,因此我可以在本地使用 git。我最近升级了我的机器,并复制了我所有的本地存储库文件夹。

我似乎能够从 TFS 中提取并在本地提交。但是,当我执行 git tfs rcheckin 时,我现在收到错误消息:

TF26198: The work item does not exist, or you do not have permission to access it.

但在使用 git tfs checkintool 时它确实有效。

我推测我收到此错误是因为原始 git tfs clone 是在另一台计算机上完成的。阅读 git-tfs 文档,听起来我应该从我的旧机器上做一个git clone(而不是复制),然后是一个git tfs bootstrap。但是,当我尝试这个时,我仍然得到同样的错误。

任何想法可能导致这种情况?我能想到的唯一其他区别是我的旧机器安装了 VS2010 和 VS2012,而我的新机器只安装了 VS2012。

【问题讨论】:

  • git-tfs 是否尝试从 #1234 之类的“提及”链接工作项?如果是这样,在其中一个正在签入的提交中是否有对此效果的评论?
  • 你的意思是我添加了一个带有# 后跟数字的评论吗?我总是像这样格式化我的提交消息:“[#1234] 我的提交消息”。所以是的,我的 cmets 确实符合你的要求。但是,我一直这样做,并且在我的旧机器上运行良好。
  • 冒着重复消息的风险:您确定您输入的工作项目编号正确吗?您确定 git-tf 以您认为的用户身份运行吗?您确定您实际上有权读取和写入该工作项吗?
  • 抱歉,我在评论中遗漏了一个关键信息!我的意思是说散列号与我们的错误跟踪系统的票号有关。它与工作项无关。我从来没有明确具体的工作流程的东西。不过,这在我的旧机器上不是问题。此外,我必须拥有 git tfs checkintool 工作的权限。

标签: git tfs git-tfs


【解决方案1】:

git-tfs parses your commit comments 为您的变更集提供工作项关联。默认情况下,如果您输入#1234,则git-tfs checkinrcheckin 命令将尝试将工作项1234 与签入相关联。

如果您在提交消息中使用#1234 以便将它们与不同的错误跟踪系统相关联,这显然是冲突的。在这种特殊情况下,git-tfs 找不到 TFS 工作项并正在向您提供此消息。

截至recently,您可以提供一个配置值:

git-tfs.work-item-regex

为了覆盖#1234 行为。虽然无法禁用此功能,但您可以将其设置为不太可能与之冲突的内容。例如:

git-tfs.work-item-regex=TFS WORK ITEM:(?<item_id>\d+)

【讨论】:

  • 有趣 - 我从来不知道这个。考虑到大多数人都希望将错误跟踪器 ID 放在他们的提交消息中,这似乎是一种奇怪的默认行为。我也不明白为什么我没有在我的旧机器上遇到这个问题。明天上班时我会试一试,一旦我测试过就在这里更新。谢谢你。
  • 我认为因为大多数使用 TFS 进行版本控制的人也使用 TFS 作为他们的错误跟踪器。无论如何,它看起来像是最近添加到 git-tf 的,可能是您的旧机器的旧版本缺少此功能。
  • 请注意,我们尚未发布具有此功能的版本,因此如果问题来自那里(很可能),您将不得不构建自己的版本或避免使用 #id 的语法,直到我们发布新版本...
  • 我已将其更改为以 [1234] 开头,这似乎可行。一旦发布,我将设置正则表达式。感谢您对此的帮助。
  • 示例:从 git-bash 运行:git config git-tfs.work-item-regex 'buggerofftfs',然后重试签入。这个正则表达式不会匹配任何东西(嗯,几乎任何东西)
【解决方案2】:

我推测我收到此错误是因为原始 git tfs 克隆是在另一台计算机上完成的。阅读 git-tfs 文档,听起来我应该从我的旧机器上做一个 git 克隆(而不是复制),然后是一个 git tfs 引导程序。但是,当我尝试这个时,我仍然得到同样的错误。

它不会改变什么,因为当 git-tfs 与 TFS 交互时这是一个问题......

任何想法可能导致这种情况?我能想到的唯一其他区别是我的旧机器安装了 VS2010 和 VS2012,而我的新机器只安装了 VS2012。

更新:查看@ethomson 的另一个答案,这确实是一个很好的答案...

【讨论】:

  • 我不明白你为什么认为这与 DLL 有关?
猜你喜欢
  • 2020-09-14
  • 1970-01-01
  • 2021-07-09
  • 1970-01-01
  • 2021-09-13
  • 2013-09-13
  • 2015-09-24
  • 2011-06-08
  • 1970-01-01
相关资源
最近更新 更多