0

当我运行时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 repo 当前位于变更集 59 上,当我克隆 repo 时,它位于变更集 57 上。所以在获取时,我应该将变更集 58 变为当前.. .

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

编辑:

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

4

1 回答 1

1

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

我没有足够的数据来理解你的问题来自哪里,但我会尽量给你足够的理解让你自己解决......

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

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

  • 在您的其他 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 尝试删除临时工作区目录。因为您未获取任何变更集,所以该目录未创建且无法找到。

于 2014-05-06T09:01:18.467 回答