web-dev-qa-db-ja.com

あるブランチから別のブランチへのTFSシェルフセットの移行

あるブランチで作成された「開発」というシェルフセットを別の「リリース」というブランチに移行する必要があります。シェルフセットを直接マージしてから、開発ブランチ用に作成されたリリースにマージできるようにします。

私が使用したコマンドは次のとおりです。

tfpt unshelve "shelveset name" /migrate /source:"$...development" /target:"$...Release"

このエラーが表示されています:

ワークスペースを特定できません

27
superman

コマンドを起動する場所は、ワークスペース内からである必要があります。例えば。 c:\workspaces\project\developmentそれがあなたのソースが置かれている場所なら。

12
Krimson

質問は次のとおりです:このエラーが発生せずにジョブを実行するにはどうすればよいですか?。その場合は、両方のブランチがローカルシステムにマップされていることと、最新バージョンのソースコードがget-latest-versionを実行していることを確認してください。

パスには両方ともマッピングに使用されるワークスペースに関する情報が含まれているため、エラーの発生を防ぐことができます。

3
kroonwijk

私は今日同じ問題に遭遇しました。以下の項目を確認した後、動作しました。

  • Powertoolsを1つだけインストールしてください。
  • 開発者コマンドプロンプトからコマンドを実行します
  • ターゲットワークスペースにマップされているフォルダーからコマンドを実行します。

V。2010をアンインストールする必要があったため、v。2012のみが残りました。バージョン番号はTFSバージョンを参照していないようです。
正しいフォルダにいるかどうかを確認するには、tfワークスペースを実行します。
ポップアップウィンドウで、ターゲットにするワークスペースを見つけて、[ローカルフォルダー]列にチェックインします。そのフォルダにいることを確認してください。

1
Boris Callens

私はこれを成し遂げるためにかなりの時間を費やしました、そして私は克服すべき問題がほとんどありませんでした、そしてこれらの1つは実際には

ワークスペースを特定できません

この特定の問題は、sourceブランチルートフォルダからコマンドを実行することで解決されました。これは、ここやSO一般に、「ターゲット」ブランチを使用すると言われている場合のいくつかの回答とは反対です。いいえ、「ソース」を使用してください。

cd [your !!source!! branch root]
tfpt unshelve /migrate /source:"$/MyCollection/Development/Maint1.1" /target:"$/MyCollection/Development/Maint1.2" "myShelveset;UserName"

この後、第2号が出ました。 TFSサーバーに接続できなかったようです。私が気付いたのは、複数のVSがインストールされ、異なるTFSサーバーに接続されていることです。私はVS12を使用していて、ワークスペースとサーバーに接続していました。しかし、TFPT2013を機能させるには、VS13で同じ接続を複製する必要があることに気づきませんでした。同じサーバーとワークスペースに接続します。

TFPT2015を使ってやってみましたが、インストールしてもTFPT.exeがインストールされなかったのでダメでした。そこで、TFPT2013からTFS2015まで試してみましたが、この特定のコマンドで機能しました。 VS12/13がTFS2015に対して正常に機能するのではないかと思いますか?

要約

  • CMDまたはDevCMDを使用する-関係ありません
  • ソースブランチルートフォルダから実行
  • チームエクスプローラーサーバーの接続を確認する
  • TF Power Tools2013はTFSv15に対して機能し、少なくともmigrateオプションは機能します
0
T.S.

私の最初の答えは、TFPTを使用してこれを適切に行う方法を説明しています。この回答では、TFPTなしでそれを行う方法を説明したいと思います。

すべての開発者は、複数のワークスペースを持つ必要があります。私たちは同時に複数の問題に取り組んでおり、それを混同したくないからです。したがって、WS1で1つの問題に取り組み、WS2で別の問題に取り組みます。したがって、別のワークスペースでシェルフセットのシェルフを解除すると、これも同様に行われます。シェルフセットが同じワークスペース内の2つの異なる場所を指すことはできないためです。ただし、別のワークスペースでは、そのワークスペースにマップされている場所にシェルフが解除されます。

0
T.S.