Visual Studio 2013と次のコマンドを使用すると、同じエラーが発生しました。
> tfpt unshelve /migrate /source:"$/Root/Solution" /target:"$/Root/Branches/Solution" "The name of my shelveset"
> An item with the same key has already been added
リサーチ
これが私が問題を解決しようとしたものです:
- アンドレイの答えに従ってキャッシュをクリアする
- Source -> Branch and Branch -> Sourceからコマンドを実行してみてください
- 私のワークスペースには、すでにソース ブランチとターゲット ブランチの両方が含まれていました
解決
VS2013 x86 Native Tools コマンド プロンプトに相当するものを開きます。
Team Foundation Power Tools がインストールされていることを確認します。
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\tfpt
保留中および除外済みの変更がないことを確認します。
検出されたが追加されていない除外された変更がいくつかありましたが、これが私を捕まえたものです。除外された変更は次のようになります
。
を実行するtf status
と、次のように表示されます。.tfignoreファイルの 1 つの変更または 0 の変更
のいずれかです。他のものはマージを混乱させます。
C:\tfs\Root\Solution>tf status
ファイル名変更 ローカルパス
$/Root .tfignore edit C:\tfs\Root\Solution.tfignore
1 件の変更
tfpt
ソースの Solution ディレクトリからコマンドを実行していることを確認してください
これで、あるブランチから別のブランチにシェルブセットを正常にマージできるはずです。
.tfsignore に関する注意:
何らかの理由で取り消したくない保留中の変更が多数ある場合は、.tfignore ファイルを変更しても問題ありません。
これが変更を残した唯一のファイルである場合、マージは中断されません。
.tfignore 参照 => stackoverflow - tfs のファイル/ディレクトリを無視するには?