製品情報
技術情報
  簡単に使ってみましょう(Windows)
  簡単に使ってみましょう(UNIX)
  よくある質問 (FAQ)
  テクニカルノート
  製品比較
  用語集
  ネットワーク上でのソフトウェア開発
  インターファイル・ブランチング
  ソフトウェア構成管理の
高度な実践方法・・・
  変更管理を通じた製品品質の向上
  PERFORCE−SOFTUNE
連携運用ガイド (Rev1.02)[PDF]
ライセンス情報
テクニカルサポート
ソフトウェア ダウンロード
マニュアル ダウンロード









 
テクニカルノート015 HOME製品PERFORCE 技術情報ノート


サードパーティ用のベンダー・ブランチを作成


このノートでは、外部組織によって変更されたソースコードをサブミットする「ベンダー・ブランチ」について、その運用手順を説明します。サード・パーティからコードが提供された(コード・ドロップ)とき、どこが変更されたのかを特定し、必要であれば、それから自分のコードラインへマージしたいと思われることでしょう。

例えば、ディポの //depot/main/gui配下に、ある開発プロジェクトを持っているとします。このプロジェクトの開発はグレイ・グローブス・ソフトウェア(GGS)に外部委託され、//depot/main/gui 配下のすべてのソースファイルはGGSに送られます。

初めにすることは、GGS用にコードラインをブランチすることです。例えば、次のように実行します。
p4 integ -v //depot/main/gui/... //depot/ggs/gui/...
p4 submit
(デフォルトで、PERFORCEは反映先のファイル(//depot/ggs/gui/...)を関連するクライアント・ワークスペースへコピーします。-v オプションを付けるとこのファイル転送が抑止され、処理が速くなります。)

その後、GGSによるコード・ドロップにおいて、以下を実行します。:
  1. //depot/ggs/gui/... へマッピングされた空のクライアント・ワークスペースを新規にセットアップします。クライアント・ビューは、次のようになります。:
    Client: ggs-drop
    Root: c:\ggs
    View: //depot/ggs/gui/... //ggs-drop/gui/...
  2. GGSからのファイルを、空の "ggs-drop" ワークスペース、すなわち c:\ggs\guiへ展開します。

  3. 次のように p4 flushコマンドを実行し、そのワークスペースがあたかも最新リビジョンを同期しているかのように見せかけます。:

    p4 flush //depot/ggs/gui/...
  4. NOTE002に示された方法により、GGSで変更されたすべてのファイルを持つチェンジリストを作成します。:
    cd c:\ggs\gui
    p4 diff -sd ... | p4 -x - delete
    p4 diff -se ... | p4 -x - edit dir/s/b | p4 -x - add
    UNIX上では、最終行は次のようになります。:
    find . -type f | p4 -x - add
    Macintosh上でMPWを使っている場合には、最終行は次のようになります。:
    files -f -q -r -s | p4 -x - add
  5. そのチェンジリストをサブミットします。
これで、GGSによる変更はディポへ登録されました。この操作は、GGSがコードを送ってくるたびに実行できますので、GGSによる変更を適切に記録することにもなります。

場合によっては、GGSの変更を自社のコードラインへ取り込みたいかもしれません。そのときは、単純にベンダー・ブランチから自社コードラインへ、次のように反映を行います。:
p4 integ //depot/ggs/gui/... //depot/main/gui/...
p4 resolve
p4 submit
リモート・ディポを使用

もし、ベンダーもPERFORCEを使用している場合には、ベンダーのディポをリモート・ディポとして直接アクセスできるかもしれません。逆も同様です。リモート・ディポの使用についての詳細は、NOTE030をご覧ください。


戻る