1

私たちは職場で TFS 2010 を使用しており、ローカルで git を使用できるように git-tfs を使用しています。最近マシンをアップグレードし、すべてのローカル リポジトリ フォルダをコピーしました。

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 だけがインストールされていることです。

4

2 に答える 2

9

git-tfsは、コミット コメントを解析して、作業項目と変更セットの関連付けを提供します。デフォルトでは、 を入力する#1234と、 コマンドgit-tfs checkinrcheckinコマンドはワークアイテム 1234 をチェックインに関連付けようとします。

#1234これらを別のバグ追跡システムに関連付けるためにコミット メッセージで使用している場合、これは明らかに競合しています。この特定のケースでgit-tfsは、 は TFS 作業項目を見つけることができず、このメッセージを提供しています。

最近では、構成値を指定できます。

git-tfs.work-item-regex

動作をオーバーライドするため#1234。この機能を無効にする方法はありませんが、競合する可能性が低いものに設定できます。例えば:

git-tfs.work-item-regex=TFS WORK ITEM:(?<item_id>\d+)
于 2014-02-02T05:36:08.373 に答える
-2

元の git tfs クローンが別のコンピューターで行われたため、このエラーが発生していると推測しました。git-tfs のドキュメントを読むと、古いマシンから (コピーではなく) git クローンを作成し、次に git tfs ブートストラップを実行する必要があるように思えます。ただし、これを試しても同じエラーが発生します。

git-tfs が TFS とやり取りするときに問題になるため、何も変わりません...

これを引き起こしている可能性のあるアイデアはありますか?私が考えることができる他の唯一の違いは、古いマシンには VS2010 と VS2012 がインストールされているのに対し、新しいマシンには VS2012 だけがインストールされていることです。

更新: @ethomson による他の回答を参照してください。これは確かに良い回答です...

于 2014-02-01T10:28:41.037 に答える