PerforceブランチからのPerforceブランチ
-
05-07-2019 - |
質問
Perforceのパスには、ファイルa.txtおよびb.txtが含まれています。メインパスをメインラインと呼びます。
そこからa.txtだけを含むブランチ(initialbranchと呼ばれる)を作成しました。 a.txtに多くの変更を加えましたが、非常に満足しています。ただし、まだメインラインに送信する準備ができていません。メインラインで発生するa.txtへの変更を簡単に統合できます。
別のプロジェクトが登場します。初期ブランチからの変更が必要です。ここで、b.txtに変更を加え、初期ブランチとメインラインの両方で発生する変更を統合できるようにしたいとします。現在、私はinitialbranchから分岐しています(この新しい分岐をsecondbranchと呼びます)。以前は、b.txtをinitialbranchに追加してから、変更をsecondbranchに統合していました。これを行うより良い方法はありますか?
この質問がやや複雑に見える場合は申し訳ありませんが、できる限り最善を尽くして表現しました!
ありがとう、
Dom
解決
私はあなたの質問を理解しているとは確信していませんが、私は助けようとします。
b.txtをinitialbranchに本当に入れたくないという場合は、次のようなブランチ仕様を定義できます。
initialbranch/a.txt secondbranch/a.txt
mainline/b.txt secondbranch/b.txt
そのようにして、「secondbranch」を使用して統合すると、ブランチの仕様では、secondbranchでの変更はinitialbranchまたはmainlineにプッシュされます。
secondbranchからmainlineに変更を直接プッシュしたくない場合は、b.txtをmainlineからinitialbranchに、次にinitialbranchからsecondbranchに統合します。 secondbranchで作業してから、変更を連続して初期ブランチとメインラインに統合します。
他のヒント
おそらく図が役立つでしょうか?
a,b------------------------------------------------------> mainline
\ branched / integrated back in
\-a----------------------------------/------------> initialbranch
copied from mainline /
-b-------------------/--------------> secondbranch
perforceでのブランチは安価なので、通常、個々のファイルではなくディレクトリ構造全体をブランチします。
これを行うには遅すぎません。エリクソンが言うように、ファイルをsecondbranchにコピー/追加するのではなく、メインラインからdevブランチに分岐できます。
a,b--------------------------------------------------> mainline
\ branched \ / integrated back in
\-a-----------\---------------------------/----> initialbranch
\ branched from mainline /
-b-----------------------------> secondbranch