web-dev-qa-db-ja.com

保留されたチェンジリストを送信する最速の方法

チェンジリスト(Xなど)を棚上げし、その正確性を確認しました。今、私はチェンジリストを提出したいと思います。できます

  1. p4 unshelve -s X -c Yここで、Yはこのコマンドを実行する前に作成する新しい変更リストです。次に、p4 shelve -c X -d、最後にp4 submit -c Y
  2. それ以外の場合は、Xのシェルフを解除し、シェルフXを削除して、ローカルコピーをチェンジリストX(p4 reopen -c X)に移動し、Xを送信します。
  3. 最後のオプションは、Xのシェルフ解除、シェルフXの削除、p4の変更(および説明の編集)、最後にp4の送信です。

に関してあなたの提案は何ですか?

  1. 1/3を使用しますが、Xがすでに持っていた説明を新しいチェンジリストにコピーアンドペーストします
  2. 2を使用しますが、開いている各ファイルをコマンドp4 reopenで手動でコピーします。

1と3に比べて2の唯一の利点は、Xを削除する必要がないことです(Xが自分のサブミットされたチェンジリストであることが判明したため、他のケースではまだ「保留中」です)。

15
Vineet Deoraj

OK。上記の方法はすべて時間がかかります。一番短いのは

1)

  1. p4 shelve -c #changelist -d
  2. p4 submit -c #changelist
36
Vineet Deoraj

Perforceサーバーの新しい2013.1リリースでは、 'p4 submit -e X'を実行できるようになりました。これにより、シェルフのシェルフを最初に解除する必要なく、シェルフを直接送信できます。

それを試してみてください、それは素晴らしい機能です!

9
Bryan Pendleton

Perforceでの経験から、変更リストの棚を解除し、保留されたファイルを削除して送信しました。変更リストの説明が正確であることを確認してください。

3
John Kane

Perforce 2013.1以降では、保留された変更リスト「12345」を直接送信できます。

p4 submit -e 12345

以前のバージョンでは、次の組み合わせを使用します。

p4 unshelve -s 12345
p4 submit ...
0

2018年なので、ここでは新しいperforceバージョン(2013.1以降)の更新された回答を示します

p4 submit -e 123456

このシェルフリストを次のようなツリーで開いていると、このコマンドは失敗します。

Change 123456 has shelved files --  cannot submit

その場合、そのツリーのルートに移動し(または-C client_name_where_shelvelist_is_openを使用)、上記のコマンドを実行する前に、次のように変更を元に戻します。

p4 revert -c 123456 ...
p4 submit -e 123456
0
Pranav Rai