Perforce Server 2012.2/538478を使用して、トランクから別のブランチにファイルのシェルフを解除するにはどうすればよいですか?
それをやろうとすると、私は次のようになります:
//filename... (not mapped to your workspace view)
Perforce 2013では、この nshelveコマンド が本当に役立つことがわかりました。
p4 unshelve -s <changlist#-with-shelved-files> -S //depot/streamname
しかし、私が現在使用しているバージョンでは、その問題を解決するためにnothingが見つかりました。
助言がありますか?
残念ながら、2013.1にアップグレードして改善されたアンシェルブ操作を行わなければ、手動でデータをコピーする必要があります。
p4 edit
他のストリーム/ブランチのファイルp4 copy
またはp4 integrate
は使用できません)あなたは正しいコマンドを見ていますが、おそらく正しいパラメータではありません。これは私がそれを使う方法です:
p4 unshelve -s 77655 -b MY_BRANCH_SPEC
これは、指定されたブランチ仕様を使用してファイルを新しいブランチにマップするチェンジリスト77655のシェルフを解除します。
重要なこととして、指定したブランチマッピングと現在のワークスペースマッピングの両方にソースファイルと宛先ファイルの両方が含まれていることを確認する必要があります。そうしないと、「ファイルがマップされていません」エラーが発生します。
他の答えは私にとってはうまくいきませんでした、これは私がperforce 2014を使用してやったことです:
たとえば、ビューの下のマッピングを置き換える
//depot/product/B1/... //depot/product/B2/...
コマンドラインで、次を実行します
p4 unshelve -s <SOURCE_CL> -c <TARGET_CL> -b B1_to_B2
しばらく検索して読んだ後、棚上げされたチェンジリストを別のブランチに棚上げしない具体的な例に出くわしませんでした。最後に具体的な例をまとめます。
Assuming you have a shelved changelist 324426 in Branch B1 and want to unshelve it to Branch B2.
私はブランチスペックを作成し、チェンジリストを別のブランチに棚上げすることができました。ここがまさに私がしたことです:
1. Create a text file named branchSpec.txt, with the content below: set you own Branch name and View.
Branch: B1_to_B2
View:
//depot/dev/main/B1/... //depot/release/B2/...
2. p4 branch -i < branchSpec.txt
3. p4 unshelve -s 324426 -b B1_to_B2
ビオラ、B1のチェンジリスト324426で保留されたファイルがB2に保留解除され、送信できるようになりました。
これにはP4 unshelveを使用できますが、A_to_Bというブランチマッピングを作成する必要があります。
1] p4シェルフ解除-s CL_NUM -b A_to_B
2] p4 add(追加のために開かれたファイル)
3] p4解決
注:ステップ2を忘れないでください。P4はデフォルトで宛先ブランチで開きません。 「p4を開く」で確認できます
これを回避する方法は、P4 2012にあります。
これにより、新しいファイルと変更されたファイルを選択し、それらをチェンジセットに追加できます。
本当に必要なのは「p4 move -f」だと思います。これについては、ここで詳しく説明します。 p4 move -f:使用目的