9

Team Foundation Server 2010 を使用して、チームの別の開発者が行った一連の変更を取り消そうとしています。この棚セットには、dll を含むいくつかの Nuget パッケージが含まれています。次の行に沿って複数のエラーが表示されます。

項目 $/file/path/some.dll は、ワークスペース MACHINENAME の USER によるチェックアウトのためにロックされています。

2008 年に Mac Noland は、自身のブログ投稿Unshelving files that have File Merging disabledで、このエラーはファイル マージが無効になっていることが原因であると主張しました。バイナリのファイルマージを無効にすることは理にかなっています。エラーに基づいて、私は TFS 2010 がアンシェルブ時にまだマージ ユーティリティを使用していると想定しています (理由については理にかなっています)。つまり、dll ファイルのファイル マージを有効にしたくありません。

残念ながら、何が起こっているのかを理解することと、それを修正することは 2 つの異なることです。TFS では、別のユーザーによって保留されたバイナリ ファイルを保留解除する方法はありますか?

4

3 に答える 3

6

ユーザーがシェルブセットを作成したが、すべてをローカルにチェックアウトしたままにした場合、このエラーが発生します。通常、TFS ではバイナリ ファイルのチェックアウトは 1 回しか許可されないため、別のユーザーによってロックされているバイナリ ファイルがシェルブセットに含まれている場合、シェルブセットをアンシェルブすることはできません。

次のコマンドでファイルのロックを解除することができます -

tf lock itemspec /lock:none /workspace:OtherUsersWorkspace

エラー メッセージからワークスペースを特定できるはずです。また、ユーザーを指定する必要があります - /workspace:WORKSPACE;userid

于 2013-10-25T22:16:06.207 に答える
1
  1. Microsoft Team Foundation Server 2010 Power Tools のインストール

  2. C:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Toolsシステムパスに追加

  3. cd c:[ある場所]\"宛先ワークスペース"

  4. tfpt unshelve /migrate "shelveset name";otherUserName /source:"$/ProjectName/Main/Source" /target:"$/ProjectName/Main/Target"

于 2016-11-22T10:40:24.057 に答える