Helix Core P4コマンドリファレンス (2019.1)

p4 resubmit

サブミット解除された一部またはすべての変更を衝突解決して再サブミットします。

注意

分散バージョン管理のみで使用。

構文

p4 [g-opts] resubmit -l
p4 [g-opts] [-R] resubmit -m
p4 [g-opts] [-R] resubmit -e
p4 [g-opts] [-R] resubmit -i [[-r remote] filespec ...]

説明

p4 resubmitコマンドは、サブミット解除された変更を再サブミットします。 このコマンドを使用して、以下の状態のチェンジリストのセットを変更します。

  • ローカルでサブミット済み
  • 他のサーバにプッシュしていない
  • サブミットしていない

このコマンドには、以下に示す3つのモードがあります。

自動モード

-m

ワークスペースが#headに同期され、衝突している各変更が処理されます。 詳細については、これ以降の「オプション」セクションに記載されている-mオプションの説明を参照してください。

部分的な対話モード

-e

 

衝突している最も古い変更が準備され、その後処理が終了します。 この変更が含まれているファイルが、ワークスペース内でオープンされます。

  1. 上記のワークスペースファイルの衝突を解決するか、必要な変更を行います。
  2. p4 resubmit -R -eコマンドを実行します。
  3. これで、衝突している次の変更の処理準備が整います。
完全対話モード -i

このモードでファイルパスを指定すると、そのパス内のファイルに対する各変更内容のサブミットが解除されます。

-rオプションを使用して、リモート仕様を指定することもできます。

リモート仕様内のマッピングにより、サブミット解除操作の影響を受けるファイルが制限されます。
そのため、p4 resubmit -r rmt @>=17などのコマンドを実行した場合、リモート仕様で指定されたファイルのみが影響を受けることになります。

その後resubmit -iコマンドを実行すると、衝突している各変更内容が処理されます。

オプション

-e

一部対話式モードでp4 resubmitを実行し、サブミット前に各変更を検査できるようにします。

-i

完全な対話式再サブミットツールとしてp4 resubmitを実行します。 変更の順序の変更、変更の組み合わせ、変更の破棄を行うことができます。

各変更を再サブミットすると、その変更に関する概要情報が表示され、実行する処理を選択するためのプロンプトが表示されます。

c この変更の説明を編集する。
m この変更をマージし、衝突が存在しない場合はこの変更をサブミットする。
e

この変更をマージして終了し、次の編集操作に進む。 「e」または「q」を選択してresubmit -R -iコマンドを実行すると、対話形式で再サブミット処理を続行することができます。

r

この変更を対話形式で解決し、衝突が存在しない場合はこの変更をサブミットする。

a

この変更を、衝突している次の変更に追加する。

s この変更をスキップして次の変更に進む。
d サブミットを実行せずにこの変更を削除する。
15 残りの変更のうち、最も古い変更から処理を再開する。
l 処理が必要な残りの変更を一覧表示する。
v 現在の変更を簡略形式で表示する。
V 詳細な差異情報とともに現在の変更を表示する。
R 解決済みのマージと未解決のマージのステータスを表示する。
q

再サブミット操作を終了する。 「e」または「q」を選択してresubmit -R -iコマンドを実行すると、対話形式で再サブミット処理を続行することができます。

? resubmitコマンドの実行時に、短いヘルプ情報を表示する。

-l

サブミット解除されたすべての変更を一覧表示しますが、実際の処理は実行されません。 再サブミットが必要な作業をプレビューしたい場合に役立ちます。

-m

p4 resubmit -m コマンドは、自動モードで実行されます。

  1. ワークスペースが#headに同期されます。
  2. サブミットが解除された各変更が処理されます。
  3. 処理対象の変更が、以下のコマンドによって作成されたタンジェントディポ内でサブミット解除された作業のタンジェントである場合、右記のコマンドを実行します。
    p4 fetch -t
    sync
    integrate tangent/...@=change dest/...
    resolve -am
    submit
    処理対象の変更が、以下のコマンドで作成されたサブミット解除後の作業のシェルフである場合、右記のコマンドを実行します。
    p4 unsubmit
    sync
    unshelve -s change -c change
    resolve -am
    submit

一覧表示されたいずれかの変更で、いずれかのファイルにマージの衝突が存在することがp4 resolve-amオプションによって検出された場合、p4 resubmitコマンドが終了します。 その変更内のファイルのうち、マージの衝突が含まれているすべてのファイルは、以下の操作を実行するまで、衝突が未解決のままになります。

  1. p4 resolveコマンドを実行して、衝突を解決します。
  2. p4 resubmit -Rmコマンドをもう一度実行し、再サブミット処理を再開します(衝突が解決されたファイルが上記の変更からサブミットされ、その後、次の変更が処理されます)。

-r remote

p4 resubmit-iオプションとともに実行すると、-rオプションがリモート仕様を指定します。そのリモート仕様のマッピングは、サブミット解除操作の影響を受けるファイルを制限するために使用されます。 以下に例を示します。

$ p4 resubmit -r rmt @>=17

この例では、リモート仕様で指定されたファイルのみが影響を受け、ディポ内のすべてのファイルには影響しません。

-R

衝突が解決された後に再サブミット処理を再開します。 このフラグを使用すると、再サブミットでは完全に衝突解決された変更のサブミットが行われてから、サブミット解除された変更の処理が行われます。

filespec

filespecに-iオプションを指定すると、対話式再サブミットでは、このパス内のファイルを変更した各変更のサブミット解除が最初に行われます。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか? ファイル引数にリビジョン範囲を使えるか? 最低限必要なアクセスレベル

適用外

適用外

write,
または-iオプションを使用するためのadmin

p4 resubmit -m

サブミット解除した変更をマージして再サブミットします。

関連コマンド

サブミット済チェンジリストをサブミット解除する

p4 unsubmit