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 ...The TFS repo is currently on changeset 59, and when I cloned the repo, it was on changeset 57. したがって、フェッチでは、変更セット 58 を現在のものにする必要があります。 .

2番目のことは、それが私に与える最後のエラーです。CleanupWorkspaceDirectoryエラーで何が起こっているのか誰でも説明できますか?

編集:

言及するのを忘れていたもう 1 つのことは、別の git リモートをリポジトリに追加したことです。また、refs/remotes/tfs/default にあるものを、git リポジトリから取得したブランチにマージしました。それが原因で何かがgit-tfs壊れたのかどうかはわかりません...

4

1 に答える 1

1

私が理解していない最初のことは...Getting changesets from 60 to current ...という行です.TFSレポは現在チェンジセット59にあり、レポをクローンしたときはチェンジセット57にありました。フェッチ、変更セット 58 を現在のものにする必要があります...

あなたの問題がどこから来たのかを正確に理解するのに十分なデータはありませんが、あなたが自分で解決できるように十分に理解できるように努めます...

Getting changesets from 60 to current ...は、「デフォルト」リモートで見つかった最後のチェンジセットが 59 であり、git-tfs が 60 から最後のチェンジセットを tfs して、「デフォルト」リモート パスに変更があるかどうかを確認するように要求していることを示しています (例 $/プロジェクト/トランク)。この 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 リポジトリで他の誰かによって既にフェッチされています。また、コミットはリポジトリで既に検出されており、再度フェッチされることはありません。ただし、この場合、「デフォルト」のリモート履歴にそれらが表示されるはずです...

言及するのを忘れていたもう 1 つのことは、リポジトリに別の git リモートを追加し、git リポジトリから取得したブランチに refs/remotes/tfs/default にあるものをマージしたことです。それが原因で git-tfs の何かが破損したかどうかはわかりません..

多分。メタデータを確認しましょう...

2番目のことは、それが私に与える最後のエラーです。CleanupWorkspaceDirectory エラーで何が起こっているのか誰でも説明できますか?

それは問題ではありません。クリーンアップ中 (すべての重要な作業が完了した後)、git-tfs は一時的なワークスペース ディレクトリを削除しようとします。変更セットをフェッチしなかったため、ディレクトリは作成されず、見つかりません。

于 2014-05-06T09:01:18.467 に答える