【问题标题】:git-tfs error during fetch? CleanupWorkspaceDirectory获取期间出现 git-tfs 错误?清理工作区目录
【发布时间】:2014-06-22 01:55:01
【问题描述】:

当我运行git tfs fetch 时,没有输出。它似乎没有从 tfs 服务器中提取任何新的变更集。然后我运行git tfs fetch -d 并得到以下输出:

C:\projects\Infinity>git tfs fetch -d
Command run:git tfs fetch -d
No authors file used.
git-tfs version 0.19.2.0 (TFS client library 12.0.0.0 (MS)) (32-bit)
Fetching from TFS remote default
git command: Starting process: git log --no-color --pretty=medium refs/remotes/tfs/default --
git command time: [00:00:00.0330000] log --no-color --pretty=medium refs/remotes/tfs/default --
git command: Starting process: git log --no-color --pretty=medium refs/remotes/tfs/default..HEAD --
git command time: [00:00:00.0210000] log --no-color --pretty=medium refs/remotes/tfs/default..HEAD --
info: refs/remotes/tfs/default: Getting changesets from 60 to current ...
Cleaning...
CleanupWorkspaceDirectory: Could not find a part of the path 'C:\projects\Infinity\.git\tfs\default\workspace'.

我不明白的第一件事是 ...Getting changesets from 60 to current ... TFS 存储库当前位于变更集 59 上,当我克隆存储库时,它位于变更集 57 上。所以在获取时,我应该得到将 58 更改为当前...

第二件事是它给我的最后一个错误。谁能解释CleanupWorkspaceDirectory 错误是怎么回事?

编辑:

我忘记提及的另一件事是,我已经向存储库添加了另一个 git 远程,并且我已将 refs/remotes/tfs/default 中的内容与我从 git 存储库中检索到的分支合并。不确定这是否会导致 git-tfs 中的某些内容中断...

【问题讨论】:

    标签: git-tfs


    【解决方案1】:

    我不明白的第一件事是……将变更集从 60 变为当前……TFS 存储库当前位于变更集 59 上,当我克隆存储库时,它位于变更集 57 上。因此,在获取时,我应该将变更集 58 更改为当前...

    我没有足够的数据来了解您的问题的确切来源,但我会尽力为您提供足够的理解,让您自己解决...

    Getting changesets from 60 to current ... 行告诉您,在“默认”远程中,找到的最后一个变更集是 59,并且 git-tfs 要求对从 60 到最后一个的变更集进行 tfs 以查看“默认的远程路径(例如 $/project/trunk)。如果这个 tfs 路径没有变化,则不会创建提交。

    所以你的问题可能来自 3 件事:

    • 在您的其他 tfs 路径中进行了更改(由您的其他 tfs 远程管理)。然后,您应该使用git tfs fetch -all 从您的所有遥控器中获取或检查您的其他分支并使用git tfs fetch -I(自动获取好的遥控器)或git tfs fetch -i idOfYourOtherRemote(如果您想指定自己使用的遥控器)
    • 您弄乱了破坏 git-tfs 的 git-tfs 元数据(可能在合并期间)。确保只有从 tfs 变更集创建的提交在提交消息中包含元数据 git-tfs-id:[http://server:8080/tfs/teamCollection/]$/.../;Cxx。这些元数据对 git-tfs 很重要,不应修改或添加到未从 tfs 获取的正常提交中。
    • (不太可能)来自 tfs 的提交已经被其他人从您获取的另一个 git 存储库中获取。并且提交已经在您的存储库中找到并且没有再次获取。但在这种情况下,您应该在“默认”远程历史记录中看到它们...

    我忘记提及的另一件事是,我已经向存储库添加了另一个 git 远程,并且我已将 refs/remotes/tfs/default 中的内容与我从 git 存储库中检索到的分支合并。不确定这是否会导致 git-tfs 中的某些内容中断..

    也许吧。让我们检查一下您的元数据...

    第二件事是它给我的最后一个错误。谁能解释 CleanupWorkspaceDirectory 错误是怎么回事?

    这不是问题。在清理期间(完成所有重要工作之后),git-tfs 尝试删除临时工作区目录。由于您未获取任何变更集,因此该目录未创建且无法找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 2020-06-11
      相关资源
      最近更新 更多