5

clearcaseからに移行しperforceています。分岐について質問があります。

clearcase一度分岐すると(たとえば) 、my_branchファイルに増分変更をコミットし続けることができます(たとえばxyz.cppmain

element * CHECKEDOUT
element * .../my_branch/LATEST
element * /main/LATEST -mkbranch my_branch

xyz.cpp何度でもチェックアウトとチェックインを続けることができmy_branchます。23回のチェックインを行い、21回目のチェックインがに入る必要があると感じたとしますmain。21回目のチェックインを使用して取得し、にct getマージできmainます。

のこのブランチにある任意の数のファイル(たとえばxyz2.cpp、 ...)に対してこれを行うことができます。でこれを行う方法がわかりません。xyz3.cppclearcaseperforce

このプロセスをで複製するにはどうすればよいperforceですか?わかりp4 submitましたが、入りmainます。基本的に、増分変更を保存し続け、必要に応じて任意の数のファイルを取得してから、それらをにマージしたいと思いますmain

4

2 に答える 2

5

ほとんど同じプロセスを使用できますが、もちろんメカニズムは異なります。

ステップ 1: 新しいブランチを作成する

Perforce にメイン ブランチがあるとし//depot/project/mainます。(そのパスは Perforce デポの構文です。必要に応じて関連ドキュメントへのリンクを追加できます。)

ブランチ マップを定義して、メイン ブランチと新しいブランチが互いにどのように関連しているかについての情報を取得します。

p4 branch my_branch

ブランチ マップに、次のビューを追加します。

//depot/project/main/... //depot/project/my_branch/...

次に、ブランチを作成します。

p4 populate -b my_branch

ステップ 2: 新しいブランチを使用する

両方のブランチを含むワークスペースを作成します。すべての詳細には触れませんが、次のようなワークスペース ビューが必要です。

//depot/project/main/... //my_ws/main/...

//depot/project/my_branch/... //my_ws/my_branch/...

次に、ワークスペースにデータを入力します。

p4 sync

ワークスペースに両方のブランチのコピーがあることに注意してください。次に、my_branch をチェックアウトして変更します。

p4 edit my_branch/foo.c

p4 submit -d "my_branch changes

必要なだけ変更を加えることができmy_branchます。

ステップ 3: メインにマージ

OK、これで にマージmy_branchする準備が整いましたmain。実行するすべてをマージしたい場合:

p4 integ -r -b my_branch

単一のファイルをマージしたい場合:

p4 integ -r -b my_branch //depot/project/main/foo.c

ターゲットファイルを指定していることに注意してください。

単一のファイルの特定のリビジョンをマージしたい場合:

p4 integ -r -b my_branch //depot/project/main/foo.c#21

于 2012-11-07T22:11:07.593 に答える
1

cleartool getから最も近いp4 sync

 p4 sync file.c#4

file.cの4番目のリビジョンをクライアントワークスペースにコピーします。
ファイルがクライアントワークスペースで既に開いている場合、またはファイルの最新リビジョンがクライアントワークスペースに存在する場合、ファイルはコピーされません。

その後もp4 submit当然の選択ですが、変更リスト内のすべてのファイルがデポに送信され、編集、追加、および分岐のために開いているファイルが閉じられます。

于 2012-11-07T20:44:45.793 に答える