Perforce 2005.2 P4 User`s Guide

PERFORCE 2013.1
P4 ユーザーズ ・ ガ イ ド
2013 年 4 月
This manual copyright 2005-2013 Perforce Software.
All rights reserved.
Perforce software and documentation is available from http://www.perforce.com. You may download and use
Perforce programs, but you may not sell or redistribute them. You may download, print, copy, edit, and redistribute the
documentation, but you may not sell it, or sell any documentation derived from it. You may not modify or attempt to
reverse engineer the programs.
This product is subject to U.S. export control laws and regulations including, but not limited to, the U.S. Export
Administration Regulations, the International Traffic in Arms Regulation requirements, and all applicable end-use, enduser and destination restrictions. Licensee shall not permit, directly or indirectly, use of any Perforce technology in or by
any U.S. embargoed country or otherwise in violation of any U.S. export control laws and regulations.
Perforce programs and documents are available from ourWeb site as is. No warranty or support is provided. Warranties and
support, along with higher capacity servers, are sold by Perforce Software.
Perforce Software assumes no responsibility or liability for any errors or inaccuracies that may appear in this book.
By downloading and using our programs and documents you agree to these terms.
Perforce and Inter-File Branching are trademarks of Perforce Software. Perforce software includes software developed by
the University of California, Berkeley and its contributors. This product includes softwaredeveloped by the OpenSSL
Project for use intheOpenSSL Toolkit (http://www.openssl.org/).
All other brands or product names are trademarks or registered trademarks of their respective companies or organizations.
© copyright 2005-2013 Perforce Software.
All rights reserved.
PERFORCE の ソ フ ト ウ ェ アお よ び関連文書は http://www.perforce.com よ り 入手で き ます。 プ ロ グ ラ ムは、
ダ ウ ン ロ ー ド し て ご利用になれますが、 販売ま たは再配布す る こ と は禁 じ ます。 関連文書は、 ダ ウ ン ロ ー ド 、 印
刷、 コ ピー、 編集、 再配布す る こ と を認め ますが、 販売す る こ と は禁 じ ます。 ま た、 いかな る も のであれ、 本書
を元に し て作成 し た文書を販売す る こ と も 禁 じ ます。 プ ロ グ ラ ムについては、 変更を加え る こ と 、 ま た リ バース
エン ジニア リ ン グ を試み る こ と も 禁 じ ます。
本製品は米国輸出管理規則 (EAR)、 国際武器取引規則 (ITAR) を含むが こ れに限定 さ れない、 すべての米国輸出管
理法令、 お よ び最終用途、 最終使用者、 納入先地域のすべての適用規制の対象 と な り ます。 被許諾者は、 直接ま
たは間接的に、 米国の禁輸国におけ る 、 ま たはそれ ら の国に よ る PERFORCE の技術の使用あ る いはそれ以外の米
国輸出管理法令に違反す る 使用を許可 し てはな り ません。
当社 Web サ イ ト よ り 入手 し た PERFORCE プ ロ グ ラ ムお よ び関連文書は無条件受け取 り と な り ます。 保証 も サポー
ト も いた し ません。 保証、 サポー ト は、 よ り 高機能のサーバ と と も に、 Perforce Software よ り 有償で提供いた し
ます。
Perforce Software は、 本書中の誤 り ま たは不正確な記述について、 いっ さ い責任 も 負担 も 負い ません。
当社のプ ロ グ ラ ムお よ び関連文書を ダ ウ ン ロ ー ド し て使用す る と 、 以上の条件に同意な さ っ た こ と にな り ます。
本製品には OpenSSL Toolkit (http://www.openssl.org/) で使用する ために OpenSSL プ ロ ジ ェ ク ト に よ っ て開発 さ れ
た ソ フ ト ウ ェ アが含まれてい ます。
PERFORCE、 Inter-File Branching は、 Perforce Software の商標です。 PERFORCE の ソ フ ト ウ ェ アには、 カ リ フ ォ ルニ
ア大学バー ク レ イ 校お よ びその協力者に よ っ て開発 さ れた ソ フ ト ウ ェ アが含まれてい ます。
その他のブ ラ ン ド ま たは製品名は、 それぞれ当該各社ま たは団体の商標ま たは登録商標です。
目 次
は じ めに
こ のマニ ュ アルについて ....................................11
コ マ ン ド ラ イ ン と GUI ..................................................................... 11
PERFORCE 入門................................................................................. 11
PERFORCE ド キ ュ メ ン ト ................................................................... 12
ご意見 ・ ご感想をお待ち し てい ます ................................................. 12
第1章
P4 の イ ン ス ト ール.............................................13
UNIX お よ び OS X への P4 の イ ン ス ト ール ....................................... 13
Windows への P4 の イ ン ス ト ール...................................................... 13
イ ン ス ト ールの確認 ........................................................................ 14
第2章
P4 の構成 ..........................................................15
構成の概要 ..................................................................................... 15
ク ラ イ ア ン ト ・ ワー ク スペース と は .............................................. 15
PERFORCE に よ る ワー ク スペース の管理方法 .................................. 16
PERFORCE の設定 ............................................................................. 17
コ マ ン ド ラ イ ンの使用 ................................................................. 17
構成フ ァ イ ルの使用..................................................................... 17
環境変数の使用 ........................................................................... 19
Windows の レ ジ ス ト リ ま たは OS X のシ ス テ ム設定を使用す る ........ 19
ク ラ イ ア ン ト ・ ワー ク スペース の定義 .............................................. 19
接続の確認 ..................................................................................... 21
IPv6 ネ ッ ト ワー ク での接続 .......................................................... 21
ワ ー ク スペース ・ ビ ュ ーの限定........................................................ 22
マ ッ ピ ン グの指定 ........................................................................ 22
ワー ク スペース ・ ビ ュ ーでの ワ イ ル ド カー ド の使用 ....................... 23
デ ィ ポの一部を マ ッ ピ ン グす る .................................................... 23
フ ァ イ ルを ワー ク スペース の別の場所にマ ッ ピ ン グす る ................ 24
フ ァ イ ルを別の フ ァ イ ル名にマ ッ ピ ン グす る ................................ 24
フ ァ イ ル名の一部を再配置す る .................................................... 24
フ ァ イ ルお よ びデ ィ レ ク ト リ を除外す る ....................................... 24
マ ッ ピ ン グの衝突を回避す る ....................................................... 25
異な るデ ィ ポの場所を 1 つの ワー ク スペース にマ ッ ピ ン グす る ...... 25
フ ァ イ ル名お よ びデ ィ レ ク ト リ 名におけ る スペース の取 り 扱い ...... 25
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
3
目次
Windows の ワー ク スペース を複数の ド ラ イ ブにマ ッ ピ ン グす る ....... 26
同一の ワー ク スペース を異な る マシ ンで使用す る .......................... 26
自動的に ワー ク スペース か ら 空のデ ィ レ ク ト リ を削除す る ............. 27
ワ ー ク スペース の場所を変更す る .................................................... 27
ワ ー ク スペース ・ オプシ ョ ン の構成 ................................................. 28
サブ ミ ッ ト ・ オプシ ョ ン の設定........................................................ 29
行末 コ ー ド の設定 ........................................................................... 30
ク ラ イ ア ン ト ・ ワー ク スペース仕様を削除す る ................................. 30
セキ ュ リ テ ィ .................................................................................. 31
SSL 暗号化接続 ........................................................................... 31
パ ス ワー ド .................................................................................. 32
接続時間の制限 ........................................................................... 34
Unicode で作業す る ......................................................................... 34
第3章
P4 コ マ ン ド の発行.............................................37
コ マ ン ド ラ イ ン の構文 ..................................................................... 37
コ マ ン ド ラ イ ン で フ ァ イ ル名を指定す る ....................................... 39
PERFORCE の ワ イ ル ド カー ド ......................................................... 39
フ ァ イ ル名 と 識別子におけ る 制限 ................................................. 40
フ ァ イ ル ・ リ ビ ジ ョ ン を指定す る ................................................. 41
レ ポー ト ・ コ マ ン ド ..................................................................... 44
PERFORCE フ ォ ームの使用 ................................................................ 44
第4章
フ ァ イ ル と チ ェ ン ジ リ ス ト の管理.......................47
フ ァ イ ルの管理............................................................................... 47
フ ァ イ ルの同期 (取得) ................................................................ 48
フ ァ イ ルの追加 ........................................................................... 49
追加時に フ ァ イ ルのグループを無視す る ....................................... 50
フ ァ イ ルの変更 ........................................................................... 51
変更の破棄 (元に戻す) ................................................................ 51
フ ァ イ ルの削除 ........................................................................... 52
チ ェ ン ジ リ ス ト の管理 ..................................................................... 52
番号付チ ェ ン ジ リ ス ト の作成 ....................................................... 53
チ ェ ン ジ リ ス ト のサブ ミ ッ ト ....................................................... 54
チ ェ ン ジ リ ス ト の削除 ................................................................. 54
フ ァ イ ルの リ ネーム と 移動 ........................................................... 55
進行中の作業を保留す る .............................................................. 55
チ ェ ン ジ リ ス ト に関す る情報の表示 .............................................. 57
フ ァ イ ル内容の比較 ........................................................................ 57
オ フ ラ イ ン で作業す る ..................................................................... 59
第5章
衝突の解決........................................................61
衝突が発生す る 状況 ........................................................................ 61
衝突解決の方法............................................................................... 62
yours、 theirs、 base、 merge の各フ ァ イ ル ...................................... 62
4
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
目次
衝突解決のオプシ ョ ン ................................................................. 63
yours、 theirs、 ま たは merge の承諾 ............................................... 64
merge フ ァ イ ルの編集 .................................................................. 64
衝突解決のためのマージ .............................................................. 65
解決オプシ ョ ンの全 リ ス ト ........................................................... 65
ブ ラ ンチ さ れた フ ァ イ ル、 削除、 移動、 フ ァ イ ル タ イ プ変更を
解決す る ..................................................................................... 67
衝突解決のための コ マ ン ド ラ イ ン ・ オプシ ョ ン ............................. 68
衝突解決の レ ポー ト ・ コ マ ン ド .................................................... 69
フ ァ イ ルの ロ ッ ク ........................................................................... 69
フ ァ イ ルを ロ ッ ク し て、 多重衝突解決を防止す る .......................... 69
多重チ ェ ッ ク ア ウ ト を防止す る .................................................... 70
第6章
コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム ......71
基本用語......................................................................................... 71
デ ィ ポの編成 .................................................................................. 72
コ ー ド ラ イ ンにデー タ を読み込む .................................................... 72
簡易的な方法 : p4 populate ............................................................ 73
コ ー ド ラ イ ン を ブ ラ ンチす る ........................................................... 73
ブ ラ ンチを作成す る タ イ ミ ン グ .................................................... 73
ブ ラ ンチの作成 ........................................................................... 74
変更の反映 ..................................................................................... 76
ブ ラ ンチ ・ マ ッ ピ ン グに よ る 反映 ................................................. 77
関連性のない フ ァ イ ル間での反映 ................................................. 77
特定のフ ァ イ ル ・ リ ビ ジ ョ ン を反映 さ せ る .................................... 77
フ ァ イ ルを再反映 さ せ、 衝突を再解決す る .................................... 78
反映に関す る レ ポー ト ・ コ マ ン ド ................................................. 78
ス ト リ ーム ..................................................................................... 78
ス ト リ ームの タ イ プ ..................................................................... 79
ス ト リ ーム ・ パ ス ........................................................................ 80
ス ト リ ーム ・ デ ィ ポの作成 ........................................................... 81
ス ト リ ームの作成 ........................................................................ 81
メ イ ン ラ イ ンにデー タ を取 り 込む ................................................. 82
子ス ト リ ームにデー タ を取 り 込む ................................................. 83
変更を伝播す る ........................................................................... 84
変更を別の ス ト リ ーム階層に伝播す る .......................................... 84
ス パース (希薄 ) なブ ラ ンチ と し ての タ ス ク ・ ス ト リ ームの使用 .... 84
ス ト リ ームの ワー ク スペース を管理す る ....................................... 85
第7章
ラ ベル ..............................................................87
ラ ベルで フ ァ イ ルに タ グ付けす る ................................................. 87
フ ァ イ ルか ら タ グ を取 り 外す ....................................................... 88
タ グの結果を プ レ ビ ュ ーす る ....................................................... 88
ラ ベルに よ っ て タ グ付け さ れた フ ァ イ ルを リ ス ト す る ................... 88
フ ァ イ ルに適用済みの ラ ベルを リ ス ト す る .................................... 88
ラ ベルを使っ て フ ァ イ ル ・ リ ビ ジ ョ ン を指定す る .......................... 88
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
5
目次
ラ ベルを削除す る ........................................................................ 89
今後のために ラ ベルを作成す る .................................................... 89
タ グ付け可能な フ ァ イ ルを制限す る .............................................. 89
静的 ラ ベルを使っ て ワー ク スペース の設定を記録す る ................... 90
自動 ラ ベルをチ ェ ン ジ リ ス ト や他の リ ビ ジ ョ ンの別名 と し て
使用す る ..................................................................................... 90
フ ァ イ ルへの誤っ た タ グ付けお よ び取 り 外 し を防ぐ ....................... 92
第8章
欠陥追跡 ...........................................................93
ジ ョ ブの管理 .................................................................................. 93
ジ ョ ブの検索 .................................................................................. 94
ジ ョ ブ ・ テ キ ス ト を検索す る ....................................................... 94
特定のフ ィ ール ド の検索 .............................................................. 95
比較演算子の使用 ........................................................................ 95
日付フ ィ ール ド の検索 ................................................................. 96
ジ ョ ブの修正 .................................................................................. 96
自動的に リ ン ク す る ..................................................................... 96
手動で リ ン ク す る ........................................................................ 97
ジ ョ ブをチ ェ ン ジ リ ス ト に リ ン ク す る .......................................... 97
第9章
ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド ..........99
ス ク リ プ ト と レ ポー ト の共通オプシ ョ ン ........................................... 99
PERFORCE フ ォ ームに よ る ス ク リ プ ト 記述 ......................................... 99
フ ァ イ ルの レ ポー ト .......................................................................100
フ ァ イ ルの状態を表示す る ..........................................................100
フ ァ イ ルの リ ビ ジ ョ ン履歴の表示 ................................................101
作業状態のフ ァ イ ルを一覧表示す る .............................................101
フ ァ イ ルの場所を表示す る ..........................................................102
フ ァ イ ルの内容を表示す る ..........................................................102
注釈 (フ ァ イ ル内容への変更の詳細情報) を表示す る ..................102
フ ァ イ ルへの変更を監視す る ......................................................103
チ ェ ン ジ リ ス ト の レ ポー ト .............................................................104
チ ェ ン ジ リ ス ト を一覧表示す る ...................................................104
チ ェ ン ジ リ ス ト に関連す る フ ァ イ ル と ジ ョ ブ を一覧表示す る .........104
ラ ベルの レ ポー ト ..........................................................................105
ブ ラ ンチ と 反映の レ ポー ト .............................................................105
ジ ョ ブの レ ポー ト ..........................................................................106
ジ ョ ブを一覧表示す る ................................................................106
チ ェ ン ジ リ ス ト に よ り 解決 し たジ ョ ブ を一覧表示す る ..................106
シ ス テ ム構成の レ ポー ト .................................................................106
ユーザの表示 .............................................................................106
ワー ク スペース の表示 ................................................................107
デ ィ ポ を一覧表示す る ................................................................107
サン プル ・ ス ク リ プ ト ....................................................................108
6
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
目次
付録 A
用語集 ............................................................ 109
付録 B
PERFORCE の フ ァ イ ル タ イ プ ............................. 117
PERFORCE の フ ァ イ ル タ イ プ ............................................................117
フ ァ イ ル タ イ プ修飾子 ....................................................................118
PERFORCE での フ ァ イ ルの保存形式を指定す る ..................................119
Unicode の フ ァ イ ルに フ ァ イ ル タ イ プ を割 り 当て る ..........................119
フ ァ イ ル タ イ プを選択す る ..........................................................120
PERFORCE の フ ァ イ ル タ イ プ検出 と Unicode ...................................121
フ ァ イ ル タ イ プのオーバー ラ イ ド ...................................................121
タ イ ム ス タ ン プの保存 ....................................................................121
RCS キー ワー ド 拡張 .......................................................................122
索引 ............................................................... 123
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
7
目次
8
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
使用例一覧
は じ めに
こ のマニ ュ アルについて ......................................................11
第1章
P4 のイ ン ス ト ール...................................................................13
第2章
P4 の構成.......................................................................................15
構成フ ァ イ ルを使用 し て 2 つの ワー ク スペース を切 り 替え る ............. 18
ワ ー ク スペース ・ ビ ュ ーの設定........................................................ 20
デ ィ ポの一部を ク ラ イ ア ン ト ・ ワー ク スペース にマ ッ ピ ン グす る ...... 23
単一の ワ ー ク スペース ・ ビ ュ ーにおけ る 複数のマ ッ ピ ン グ ................ 24
フ ァ イ ルをデ ィ ポ内 と ク ラ イ ア ン ト ・ ワー ク スペース内で異な る
名前にす る .................................................................................. 24
位置指定子を使用 し て フ ァ イ ル名 と デ ィ レ ク ト リ を置 き 換え る .......... 24
ビ ュ ーを使用 し て フ ァ イ ルを ク ラ イ ア ン ト ・ ワー ク スペース か ら
除外す る ...................................................................................... 24
衝突す る 誤っ たマ ッ ピ ン グ .............................................................. 25
複数のデ ィ レ ク ト リ を同 じ ワ ー ク スペース にオーバーレ イ す る .......... 25
フ ァ イ ル名 と デ ィ レ ク ト リ 名の スペース に対応す る .......................... 25
第3章
P4 コ マ ン ド の発行...................................................................37
同 じ フ ァ イ ルを異な る シ ン タ ッ ク ス に よ り 参照す る .......................... 39
リ ビ ジ ョ ン指定子を使っ て フ ァ イ ルを取得す る ................................. 43
ク ラ イ ア ン ト ・ ワー ク スペース か ら すべての フ ァ イ ルを削除す る ...... 43
リ ビ ジ ョ ン範囲を指定 し てチ ェ ン ジ を一覧表示す る .......................... 44
第4章
フ ァ イル と チ ェ ン ジ リ ス ト の管理 ..................................47
デ ィ ポか ら ク ラ イ ア ン ト ・ ワ ー ク スペースへの フ ァ イ ルの コ ピー ...... 48
フ ァ イ ルをチ ェ ン ジ リ ス ト に追加す る .............................................. 49
チ ェ ン ジ リ ス ト をデ ィ ポにサブ ミ ッ ト す る ....................................... 49
追加時に フ ァ イ ルのグループ を無視す る ........................................... 50
フ ァ イ ルを編集目的で作業状態にす る .............................................. 51
フ ァ イ ルを元に戻す ........................................................................ 51
フ ァ イ ルをデ ィ ポか ら 削除す る ........................................................ 52
複数のチ ェ ン ジ リ ス ト を使っ て作業す る ........................................... 53
チ ェ ン ジ リ ス ト 番号の自動付け替え ................................................. 54
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
9
使用例一覧
チ ェ ン ジ リ ス ト を保留す る .............................................................. 55
コ ー ド ・ レ ビ ュ ーのためにチ ェ ン ジ リ ス ト の保留を解除 し ます。........ 55
他のユーザに フ ァ イ ルを引 き 継 ぐ .................................................... 56
変更を サブ ミ ッ ト す る 前に保留状態の フ ァ イ ルを破棄す る ................ 56
第5章
衝突の解決....................................................................................61
フ ァ イ ルの衝突を解決す る .............................................................. 66
衝突す る フ ァ イ ルの特定 リ ビ ジ ョ ン を自動的に受け入れ る ................ 68
第6章
コ ー ド ラ イ ン、 ブ ラ ン チ、 およびス ト リ ーム..........71
フ ァ イ ル指定を使用 し てブ ラ ンチを作成す る .................................... 75
ブ ラ ンチ ・ フ ァ イ ル間で変更を伝達す る ........................................... 76
ブ ラ ンチ内にあ る 単一の フ ァ イ ルに変更を反映す る .......................... 77
特定の フ ァ イ ル ・ リ ビ ジ ョ ン を反映 さ せ る ....................................... 77
第7章
ラ ベル .............................................................................................87
ラ ベルに よ っ て タ グ付け さ れた フ ァ イ ルを ク ラ イ ア ン ト ・
ワ ー ク スペース に取得す る ........................................................... 88
ラ ベル ・ ビ ュ ーを使用 し て タ グ付け可能な フ ァ イ ルを制御す る .......... 89
自動 ラ ベルをチ ェ ン ジ リ ス ト 番号の別名 と し て使用す る .................... 90
あ る 1 つのチ ェ ン ジ リ ス ト でサブ ミ ッ ト さ れた一連の フ ァ イ ルを
限定的に参照す る ........................................................................ 91
複数のチ ェ ン ジ リ ス ト にあ る 各フ ァ イ ルについて最初の リ ビ ジ ョ ン を
参照す る ...................................................................................... 91
第8章
欠陥追跡 ........................................................................................93
ジ ョ ブの作成 .................................................................................. 93
指定の単語を含むジ ョ ブの検索........................................................ 94
いずれかの フ ィ ール ド に一連の単語の う ち どれか を含むジ ョ ブの検索 94
特定フ ィ ール ド 内に指定の単語を含むジ ョ ブの検索 .......................... 95
あ る フ ィ ール ド に特定の値が含まれてい る ジ ョ ブ を除外す る ............. 95
式の中での日付の使用 ..................................................................... 96
自動的にジ ョ ブ をチ ェ ン ジ リ ス ト に リ ン ク す る ................................. 97
手動でジ ョ ブ をチ ェ ン ジ リ ス ト に リ ン ク す る .................................... 97
第9章
ス ク リ プ ト と レ ポー ト に使用する コ マ ン ド ...............99
p4 annotate を使っ て、 フ ァ イ ルへの変更を表示............................103
p4 fstat コ マ ン ド の出力の解析結果を示すサン プル ・ シ ェ ル ・
ス ク リ プ ト .................................................................................108
10
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
使用例一覧
付録 A
用語集 .......................................................................................... 109
付録 B
PERFORCE のフ ァ イル タ イ プ ............................................ 117
索引 ............................................................................................... 123
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
11
使用例一覧
12
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
こ のマニ ュ アルについて
は じ めに
本書では、PERFORCE の コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト (p4) の使用方法を説明 し ます。バージ ョ
ン管理シ ス テ ム を初めてお使いにな る 場合、 PERFORCE の基本概念を ご存知でない場合、 ま た
は PERFORCE を一度 も 使用 し た こ と がない場合は、 本書をお読みにな る 前に 『PERFORCE 概要』
を ご覧 く だ さ い。 本書では バージ ョ ン管理 に関 し て十分な基礎知識があ る こ と を前提 と し て
い ます。
コ マ ン ド ラ イ ン と GUI
PERFORCE には、 PERFORCE コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト 、 P4V な ど の GUI ツール、 プ ラ グ イ
ン な ど、 フ ァ イ ル管理を行 う ための ア プ リ ケーシ ョ ン が数多 く 用意 さ れてい ま す。 PERFORCE
コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト に よ り 、 PERFORCE GUI ではサポー ト さ れていない、 シ ス テ ム
管理作業の ス ク リ プ ト 化や実行を行 う こ と がで き ます。
PERFORCE 入門
PERFORCE を初めて操作す る 場合は、 次の手順に従っ て く だ さ い。
1.
『PERFORCE 概要』 を読み、 基礎を習得 し ます。
少な く と も 、 チ ェ ン ジ リ ス ト 、 デ ィ ポ 、 ク ラ イ ア ン ト ・ ワー ク スペース 、 同期、 サブ
ミ ッ ト の概念について習得 し て く だ さ い。 簡潔な用語定義が、 本書の付録にあ る 用語集
に記述 さ れてい ます。
2.
PERFORCE 管理者に PERFORCE サービ ス のホ ス ト お よ びポー ト の情報を問い合わせて く だ
さ い。
実稼動のデ ィ ポ を破壊す る こ と な く PERFORCE の試験を行いたい場合は、 試験用の別の
サービ ス を起動す る よ う PERFORCE 管理者に依頼 し て く だ さ い。 PERFORCE サービ ス の イ
ン ス ト ールに関す る 詳細は、 『PERFORCE シ ス テ ム管理者ガ イ ド 』 を参照 し て く だ さ い。
3.
シ ス テ ム管理者が既にマシ ン の構成を行っ ていない場合、 本書を参照 し て PERFORCE コ
マ ン ド ラ イ ン ・ ク ラ イ ア ン ト の イ ン ス ト ールお よ び ク ラ イ ア ン ト ・ ワ ー ク スペース の構
成を行っ て く だ さ い。 詳 し く は、 第 2 章の 「P4 の構成」 を ご覧 く だ さ い。
4.
以下の作業の実行方法を習得 し て く だ さ い。
・ 同期 ( 選択 し た フ ァ イ ルを リ ポジ ト リ か ら 自分の コ ン ピ ュ ー タ に転送 し ます )
・ サブ ミ ッ ト ( 変更済みの フ ァ イ ルを自分の ワー ク スペース か ら リ ポジ ト リ に転送 し ます )
・ 元に戻す ( 変更を破棄 し ます )
詳 し く は、 第 4 章の 「フ ァ イ ル と チ ェ ン ジ リ ス ト の管理」 を ご覧 く だ さ い。
5.
自分の ク ラ イ ア ン ト ・ ビ ュ ーの限定方法を習得 し て く だ さ い。 詳 し く は、 22 ページの
「 ワー ク スペース ・ ビ ュ ーの限定」 を ご覧 く だ さ い。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
11
は じ めに : こ のマニ ュ アルについて
こ れ ら について基本的な技術が あれば、 日常業務の多 く を こ なす こ と がで き ま す。 その他の
コ ー ド ラ イ ンの保守 (ス ト リ ーム、 ブ ラ ンチ操作 と ラ ベル付け) や ワー ク フ ロ ー (ジ ョ ブ) に
かかわ る 作業を実施す る 頻度はそれほ ど多 く あ り ません。 本書では p4 コ マ ン ド を使用 し た こ
れ ら の作業の実施方法について も 説明 し てい ます。
PERFORCE ド キ ュ メ ン ト
本書、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』、 お よ び p4 help コ マ ン ド が PERFORCE コ マ ン ド
ラ イ ン ・ ク ラ イ ア ン ト に関す る 主要な ド キ ュ メ ン ト です。 本書では最新版の リ リ ース について
説明 し てい ます。以前の リ リ ース の ド キ ュ メ ン ト については PERFORCE 社の Web サ イ ト を参照
し て く だ さ い。
他の PERFORCE アプ リ ケーシ ョ ン に関す る ド キ ュ メ ン ト は、 PERFORCE 社の ウ ェ ブサ イ ト
http://www.perforce.com の documentation のページか ら 入手で き ます。
記述 さ れる詳細情報
記述 ド キ ュ メ ン ト
PERFORCE の基礎
『PERFORCE 概要』
プ ロ キ シ、 レ プ リ カ、 セ キ ュ リ テ ィ 設 定 を 含 む、 『PERFORCE シ ス テ ム管理者ガ イ ド 』
PERFORCE サービ ス の イ ン ス ト ールお よ び管理
p4 コ マ ン ド ラ イ ン・フ ラ グお よ びオプシ ョ ン ( リ フ ァ
レンス )
『PERFORCE コ マン ド ・ リ フ ァ レ ン ス』、
p4 help
P4V -プ ラ ッ ト フ ォーム互換 PERFORCE ビ ジ ュ アル ・ 『P4V 入門』、
ク ラ イ アン ト
P4V オン ラ イ ン ・ ヘルプ
PERFORCE サン ド ボ ッ ク ス を使用 し てオ フ ラ イ ンで作 『PERFORCE サン ド ボ ッ ク ス ・ ユーザーズ ・
業す る
ガイ ド』
PERFORCE プ ラ グ イ ンお よ び統合ツール
IDE : 『IDE プ ラ グ イ ン ・ ユーザーズ ・ ガ イ
ド』
障害追跡ツール : 『Defect Tracking Gateway
Guide』
その他 : PERFORCE メ ニ ュ ーま たは Web サ
イ ト か ら のオン ラ イ ンヘルプ
PERFORCE C/C++ API を利用 し た カ ス タ ム PERFORCE ア 『C/C++ API ユーザ ・ ガ イ ド 』
プ リ ケーシ ョ ンの開発
Ruby、 Perl、 Python、 PHP に よ る PERFORCE サービ ス 『APIs for Scripting』
の操作
注 日本語版 PERFORCE は、 P4Web, C/C++ API を サポー ト し てお り ま せんので ご注意 く
だ さ い。
ご意見 ・ ご感想を お待ち し ています
当社では、 本書に関す る ユーザのみな さ んか ら のご意見をお待ち し てい ます。 と り わけ、 初め
て PERFORCE をお使いにな っ たユーザのみな さ んのご意見は、 ぜひお聞かせ願いたい と 思い ま
す。 本書を読んで十分な情報は得 ら れ ま し たか ? ご感想をお聞かせ く だ さ い。 ご意見 ・ ご感
想の宛先は下記の と お り です。
[email protected]
12
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
P4 のイ ン ス ト ール
第1章
こ の章では、 PERFORCE コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト (p4) を ワ ー ク ス テーシ ョ ン に イ ン ス
ト ールす る 方法を説明 し ます。 PERFORCE バージ ョ ン化サービ ス の イ ン ス ト ールに関 し て詳 し
く は、 『PERFORCE シ ス テ ム管理者ガ イ ド 』 を参照 し て く だ さ い。
UNIX および OS X への P4 のイ ン ス ト ール
PERFORCE コ マ ン ド ラ イ ン・ ク ラ イ ア ン ト を UNIX ま たは Mac OS X マシ ンに イ ン ス ト ールす る
手順を以下に示 し ます。
1.
p4 実行可能フ ァ イ ルを以下の PERFORCE 社の Web サ イ ト か ら ダ ウ ン ロ ー ド し ます。
http://www.perforce.com/downloads/complete_list
PERFORCE アプ リ ケーシ ョ ンは通常 /usr/local/bin に イ ン ス ト ール さ れ ます。
2.
p4 フ ァ イ ルを実行可能に し ます (chmod +x p4)。
3.
ポー ト の設定、ク ラ イ ア ン ト ・ ワ ー ク スペース名、お よ びユーザ名を構成 し ます。 P4PORT、
P4CLIENT、 P4USER の各環境変数に よ り 、 こ れ ら の設定を行 う こ と がで き ま す。 (詳 し
く は、 第 2 章の 「P4 の構成」 を参照 し て く だ さ い)。
Windows への P4 のイ ン ス ト ール
PERFORCE コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト (p4.exe) を Windows に イ ン ス ト ールす る には、 以
下の PERFORCE 社の Web サ イ ト にあ る Downloads ページか ら 、 PERFORCE Windows イ ン ス ト ー
ラ (perforce.exe) を ダ ウ ン ロ ー ド し て実行 し ます。
http://www.perforce.com/downloads/complete_list
PERFORCE イ ン ス ト ー ラ に よ り 、 PERFORCE コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト お よ び そ の他の
PERFORCE Windows コ ン ポーネ ン ト の イ ン ス ト ール と ア ン イ ン ス ト ール を 行 う こ と がで き ま
す。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
13
第 1 章 : P4 の イ ン ス ト ール
イ ン ス ト ールの確認
PERFORCE コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト が正常に イ ン ス ト ール さ れたか ど う か確認す る には、
コ マ ン ド ラ イ ン で p4 info と 入力 し て ENTER キーを押 し ます。 PERFORCE サービ ス が特定の
ホ ス ト お よ びポー ト で稼動 し ていれば、 次の よ う な メ ッ セージが表示 さ れます。
User name: ona
Client name: ona-agave
Client host: agave
Client root: /home/ona/p4-ona
Current directory: /home/ona/p4-ona
Client address: 10.0.0.196
Server address: perforce:1666
Server root: /usr/depot/p4d
Server date: 2012/03/28 12:11:47 -0700 PDT
Server uptime: 752:41:33
Server version: P4D/FREEBSD/2012.1/406375 (2012/01/25)
Server license: P4Admin <p4adm> 20 users (expires 2013/01/01)
Server license-ip: 10.0.0.2
Case handling: sensitive
構成の設定が正 し く ない場合、 次の よ う なエ ラ ー メ ッ セージが表示 さ れ ます。
PERFORCE client error:
Connect to server failed; check $P4PORT.
TCP connect to <hostname> failed.
<hostname>: host unknown.
PERFORCE が SSL 接続を必要 と す る よ う に管理者が設定 し てい る 場合、 PERFORCE サービ ス に最
初に接続を試みた と き にサーバの フ ィ ン ガープ リ ン ト を検証す る 必要があ り ます。31 ページの
「SSL 暗号化接続」 を参照 し て く だ さ い。
14
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
P4 の構成
第2章
こ の章では、 接続の設定の構成方法について説明 し ます。
構成の概要
PERFORCE は企業向けバージ ョ ン管理シ ス テ ム であ り 、こ れに よ り ユーザは共有 さ れたバージ ョ
ン化サービ ス に接続 し ます。 ユーザはデ ィ ポ と 呼ばれ る 共有レ ポジ ト リ か ら フ ァ イ ルを同期 さ
せ、 それを自分の ワ ー ク ス テーシ ョ ン の ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス において編集 し ます。
こ の章では、 シ ス テ ム管理者がお客様の組織の PERFORCE サービ ス を既に構成 し てい る こ と を
想定 し てい ます。 バージ ョ ン化サービ ス の設定に関 し て詳 し く は、 「PERFORCE シ ス テ ム管理者
ガ イ ド 」 を 参照 し て く だ さ い。
ワ ー ク スペース を設定 し て PERFORCE と のや り 取 り を可能にす る には、 次の手順に従っ て く だ
さ い。
1.
プ ロ ト コ ル、 ホ ス ト お よ びポー ト を設定 ( し て、 PERFORCE サービ ス に接続で き る よ う に)
し ます。 17 ページの 「Perforce の設定」 を参照 し て く だ さ い。
2.
ワ ー ク ス ペー ス を定義 し ま す (少な く と も 、 名前を指定 し 、 デ ィ ポ ・ フ ァ イ ルの ロ ーカ
ル ・ コ ピーを格納 し たい ワー ク スペース のルー ト を指定 し て く だ さ い)。 19 ページの 「 ク
ラ イ ア ン ト ・ ワ ー ク スペース の定義」 を参照 し て く だ さ い。
3.
接続を確認 し ます。 21 ページの 「接続の確認」 を参照 し て く だ さ い。
ワ ー ク スペース を構成 し た ら 、デ ィ ポに格納 さ れてい る フ ァ イ ル と 同期 さ せて ワー ク スペース
に取 り 込む こ と がで き ます。詳 し く は、48 ページの 「フ ァ イ ルの同期 (取得)」 お よ び 『PERFORCE
コ マ ン ド ・ リ フ ァ レ ン ス』 の p4 sync コ マ ン ド に関す る 説明を参照 し て く だ さ い。
PERFORCE の構成を始め る 前に、 PERFORCE 管理者にサーバ ・ ホ ス ト お よ びポー ト の設定につい
て問い合わせて く だ さ い。 ま は、 ワ ー ク ス テーシ ョ ンに既に ワ ー ク スペース が構成 さ れてい る
か確認 し て く だ さ い。
ク ラ イ ア ン ト ・ ワー ク スペース と は
PERFORCE ク ラ イ ア ン ト ・ ワー ク スペース と は、 PERFORCE に よ っ て管理 さ れ る フ ァ イ ル ・ リ ビ
ジ ョ ンの操作を行 う ワ ー ク ス テーシ ョ ン上にあ る 、 デ ィ レ ク ト リ の集合です。 各ワ ー ク スペー
ス には、 PERFORCE サーバに対 し て ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス を識別す る ための固有の名
前が付いてい ます。 P4CLIENT 環境変数の設定に よ り ワ ー ク スペース 名を指定 し ない場合、 デ
フ ォ ル ト の ワー ク スペース名は ワー ク ス テーシ ョ ン の名前にな り ます。効果的な ワ ー ク スペー
ス名を指定す る ため、 P4CLIENT 環境変数を設定 し て く だ さ い。 1 つのマシ ン に複数の ワ ー ク
スペース を含め る こ と がで き ます。
PERFORCE ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス にあ る すべての フ ァ イ ルは、 ク ラ イ ア ン ト ・ ルー ト
と 呼ばれ る ルー ト ・ デ ィ レ ク ト リ を共有 し ます。 ワー ク スペース ・ ルー ト は ワ ー ク スペース の
最上位デ ィ レ ク ト リ であ り 、 その配下に管理対象の ソ ース ・ フ ァ イ ルが格納 さ れ ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
15
第 2 章 : P4 の構成
1 つのマシ ン上に複数の ワー ク スペース を構成す る 場合、 不用意に フ ァ イ ルが上書 き さ れ る こ
と のない よ う 、 ワ ー ク ス ペー ス の場所 を分離 し て く だ さ い。 ク ラ イ ア ン ト ・ ルー ト が別々の
フ ォ ルダに配置 さ れ る よ う に し 、 ワー ク スペース ・ ビ ュ ーをデ ィ ポ ・ フ ァ イ ルにマ ッ ピ ン グす
る と き 、 ワー ク ス テーシ ョ ン上の位置が重な ら ない よ う に し て く だ さ い。
ワ ー ク スペース を構成 し た ら 、 フ ァ イ ルをデ ィ ポ と 同期 し て変更をサブ ミ ッ ト す る こ と がで き
ます。 こ れ ら の操作について詳 し く は、 第 4 章の 「フ ァ イ ル と チ ェ ン ジ リ ス ト の管理」 を参照
し て く だ さ い。
PERFORCE によ るワー ク スペースの管理方法
PERFORCE は ク ラ イ ア ン ト ・ ワー ク スペース内の フ ァ イ ルを以下の よ う に管理 し ます。
• ユーザに よ る 変更に応 じ て、 ワー ク スペース内の フ ァ イ ルの作成、更新、削除が行われ ます。
• 書 き 込み許可はユーザが フ ァ イ ルを編集す る 際に有効に さ れ、変更をサブ ミ ッ ト す る 際に無
効に さ れ ます。
ユーザの ワー ク スペース の状態は、 PERFORCE に よ り 追跡 さ れ、 管理 さ れ ます。 PERFORCE アプ
リ ケーシ ョ ンに よ り 実行 さ れ る フ ァ イ ル管理 と の衝突を避け る ため、 フ ァ イ ルの読み取 り 専用
の許可設定を手動で変更 し ないで く だ さ い。 PERFORCE には、 あ る ク ラ イ ア ン ト ・ ワ ー ク スペー
ス の状態が、 PERFORCE に記録 さ れてい る 状態 と 一致 し てい る か否か を判定で き る コ マ ン ド が
あ り ます。 詳 し く は、 59 ページの 「オ フ ラ イ ン で作業す る 」 を ご覧 く だ さ い。
PERFORCE に よ り 制御 さ れ る よ う 指定 し ていない ワー ク スペース内の フ ァ イ ルは、 PERFORCE に
は無視 さ れ ます。 例えば、 コ ンパ イ ル済みオブジ ェ ク ト 、 ラ イ ブ ラ リ 、 実行可能フ ァ イ ル、 お
よ び ソ フ ト ウ ェ ア の開発中に作成 さ れたデ ィ ポに追加 さ れていない開発者用一時 フ ァ イ ルな
どは、 PERFORCE コ マ ン ド の影響を受け ません。
ク ラ イ ア ン ト ・ ワ ー ク スペース を定義 し た ら 、 ワ ー ク スペース の定義を微調整す る こ と がで き
ます。 おそ ら く 最 も 重要な こ と は、 デ ィ ポ内のユーザが見 る こ と ので き る 部分を制限 し て、 不
用意にデ ィ ポ全体を同期 さ せない よ う にす る こ と です。 詳 し く は、 22 ページの 「ワ ー ク スペー
ス ・ ビ ュ ーの限定」 を参照 し て く だ さ い。
16
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
PERFORCE の設定
本書では、 環境変数を使用 し た PERFORCE の設定方法 ( 「set P4CLIENT」 な ど ) を説明 し てい
ますが、 サーバ ・ ポー ト 、 ユーザ、 ワー ク スペース名な ど の PERFORCE の設定は以下の方法で
指定す る こ と がで き ます。 それ ら について優先順位の高い順に示 し ます。
1.
コ マ ン ド ラ イ ン でオプシ ョ ン を使用す る
2.
P4CONFIG が設定 さ れてい る 場合、 構成フ ァ イ ルで指定す る
3.
ユーザ環境変数 (UNIX ま たは Windows において) を使用す る
4.
シ ス テ ム環境変数を使用す る (Windows ではシ ス テ ム全体の環境変数はユーザ環境変数
と 同 じ ではない こ と があ り ます)
5.
Windows ま たは OS X において、 ユーザ ・ レ ジ ス ト リ ま たはユーザ設定を使用す る (p4
set コ マ ン ド を発行 し て設定す る )
6.
Windows ま たは OS X において、 シ ス テ ム ・ レ ジ ス ト リ ま たはシ ス テ ム設定を使用す る
(p4 set -s コ マ ン ド を発行 し て設定す る )
PERFORCE サービ ス に接続す る よ う ワ ー ク ス テーシ ョ ン を構成す る には、 サービ ス が稼働 し て
い る ホ ス ト の名前お よ びサーバが接続を待機す る ポー ト を指定 し ます。デフ ォ ル ト のホ ス ト は
PERFORCE、 デフ ォ ル ト のポー ト は 1666 です。 サービ ス がマシ ン上で起動 し てい る 場合、 ホ ス
ト 名を localhost に指定 し て く だ さ い。 サービ ス がポー ト 1666 で起動 し てい る 場合、 ポー
ト の指定を省略す る こ と がで き ます。
以降のセ ク シ ョ ン で説明す る と お り 、 こ れ ら の設定を指定す る こ と がで き ま す。 オ フ ラ イ ン
(PERFORCE サービ ス に接続 し ない) での作業に関す る 詳細は、 59 ページの 「オ フ ラ イ ン で作業
す る 」 を参照 し て く だ さ い。
コ マ ン ド ラ イ ンの使用
こ れ ら の設定を コ マ ン ド ラ イ ン で指定す る には、 -p オプシ ョ ン を使用 し て く だ さ い。 例えば
こ の よ う に し ます。
p4 -p tcp:localhost:1776 sync //depot/dev/main/jam/Jambase
環境変数、 Windows レ ジ ス ト リ 、 ま たは OS X のシ ス テ ム設定。 コ マ ン ド ラ イ ン ・ オプシ ョ ン
に関す る 詳細は、 「PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス」 のグ ロ ーバル ・ オプシ ョ ンの説明を参
照 し て く だ さ い。
構成フ ァ イルの使用
構成フ ァ イ ル は、 その フ ァ イ ルのあ る デ ィ レ ク ト リ お よ びその配下のデ ィ レ ク ト リ にあ る フ ァ
イ ルに影響す る PERFORCE の設定が記述 さ れてい る テ キ ス ト ・ フ ァ イ ルです。構成フ ァ イ ルは、
1 つのマシ ン上に複数の ク ラ イ ア ン ト ・ ワー ク スペース があ る 場合に有用です。 構成フ ァ イ ル
で設定を指定すれば、異な る ワー ク スペース で作業す る たびにシ ス テ ム設定を変更す る と い う
面倒な作業は必要あ り ません。
構成フ ァ イ ルを使用す る には、 フ ァ イ ル名を指定 (.p4config な ど) し て、 P4CONFIG 環境
変数を定義 し ます。 コ マ ン ド の発行時、PERFORCE は現在の作業デ ィ レ ク ト リ お よ びその親デ ィ
レ ク ト リ で指定 さ れた フ ァ イ ルを探 し 、 (設定が コ マ ン ド ラ イ ン ・ オプシ ョ ン に よ り 上書 き さ
れない限 り ) その フ ァ イ ルに含まれ る 設定を使用 し ます。
フ ァ イ ル内では、 各設定につ き 1 行ずつ以下の形式で指定す る 必要があ り ます。
設定 = 値
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
17
第 2 章 : P4 の構成
構成フ ァ イ ルで指定で き る 設定項目を以下に示 し ます。
設定
説明
P4CHARSET
Unicode フ ァ イ ルの翻訳に使用 さ れ る 文字セ ッ ト
P4COMMANDCHARSET
P4CHARSET が UTF-16 文字セ ッ ト ま たは UTF-32 文字セ ッ ト に設定 さ
れてい る 場合に コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト で使用 さ れ る UTF-16
ま たは UTF-32 以外の文字セ ッ ト
P4CLIENT
現在の ク ラ イ ア ン ト ・ ワ ー ク スペース名
P4DIFF
p4 resolve お よ び p4 diff に よ り 使用 さ れ る 比較プ ロ グ ラ ムの名
前お よ び場所
P4EDITOR
フ ォーム を使用する PERFORCE コ マ ン ド に よ り 起動 さ れ る エデ ィ タ
P4HOST
ク ラ イ ア ン ト ・ ワー ク ス テーシ ョ ンのホ ス ト 名。現在の ク ラ イ ア ン ト ・
ワ ー ク スペース の Host: フ ィ ール ド が p4 client フ ォームに設定 さ
れてい る 場合にのみ有用です。
P4IGNORE
P4 ADD
P4LANGUAGE
こ の環境変数はシ ス テ ムの統合用に予約 さ れてい ます。
P4MERGE
p4 resolve のマージ ・ オプ シ ョ ン で使用す る サー ド ・ パーテ ィ の
マージ ・ プ ロ グ ラ ムの名前お よ び場所
P4PASSWD
PERFORCE ク ラ イ ア ン ト ・ コ マ ン ド に対 し 、 現在の PERFORCE ユーザの
パ ス ワ ー ド を指定 し ます。
P4PORT
接続先の PERFORCE サービ ス (プ ロ キ シ ま たはブ ロ ーカ を含む) のプ
ロ ト コ ル、 ホ ス ト 、 お よ びポー ト 番号
P4TRUST
既知の (信頼 さ れた) PERFORCE サーバの フ ァ イ ルが あ る 場所。 こ の
フ ァ イ ルの内容は、p4 trust コ マ ン ド を使用 し て管理 し ます。デフ ォ
ル ト で は、 こ の フ ァ イ ル は ユ ー ザ の ホ ー ム ・ デ ィ レ ク ト リ 内 の
.p4trust です。
P4USER
現在の PERFORCE ユーザ名
コ マ ン ド お よ び p4 reconcile コ マ ン ド の使用時に無視する
フ ァ イ ルの リ ス ト です。
こ れ ら の設定に関 し て詳 し く は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を参照 し て く だ さ い。
例 : 構成フ ァ イ ルを使用 し て 2 つの ワー ク スペース を切 り 替え る
オナは 1 つのマシ ン上にあ る 2 つの ワー ク スペース を切 り 替え ます。 1 番目の ワー ク ス
ペース は ona-ash です。 その ワー ク スペース ・ ルー ト は /tmp/user/ona であ り 、 SSL
接続を使用 し て PERFORCE サービ ス に ssl:ida:1818 で接続 し ます。 2 番目の ワー ク ス
ペース は ona-agave で、 その ワー ク スペース ・ ルー ト は /home/ona/p4-ona であ り 、
プ レーン テ キ ス ト 接続を使用 し て PERFORCE サービ ス に tcp:warhol:1666 で接続 し ま
す。
オナは P4CONFIG 環境変数を .p4settings に設定 し ます。彼女は /tmp/user/ona に
以下のテ キ ス ト を含む .p4settings と い う フ ァ イ ルを作成 し ます。
P4PORT=ssl:ida:1818
P4CLIENT=ona-ash
彼女は /home/ona/p4-ona に 2 番目の .p4settings フ ァ イ ルを作成 し ます。そのフ ァ
イ ルには次のテ キ ス ト が含まれます。
P4PORT=tcp:warhol:1666
P4CLIENT=ona-agave
彼女が /tmp/user/ona 配下の フ ァ イ ルに対 し て 行 う 作業は、 ssl:ida:1818 に あ る
PERFORCE サービ ス に よ り 管理 さ れ ます。 /home/ona/p4-ona 配下のフ ァ イ ルに対 し て
行 う 作業は、 tcp:warhol:1666 にあ る PERFORCE サービ ス に よ り 管理 さ れます。
18
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
環境変数の使用
環 境 変 数 を 使 用 し て サ ー バ 接 続 設 定 を 構 成 す る に は、 P4PORT
protocol:host:port の形式で設定 し て く だ さ い。
を 以下の例の よ う に
サービ スが稼動 し ている
場所
接続を待機 し ている 暗号化プ ロ ト コ ルの
ポー ト
サポー ト
P4PORT の設定
自身の コ ン ピ ュ ー タ
1666
な し (プ レーン テ キ ス localhost:1666
ト)
perforce
1666
SSL
houston
3435
な し (プ レーン テ キ ス tcp:houston:3435
ト)
deneb.com
1818
SSL
ssl:perforce:1666
ssl:example.com:1818
P4PORT の設定にプ ロ ト コ ルを指定 し ていない場合、 tcp: (TCP/IP 経由のプ レーン テ キ ス ト
での通信) が想定 さ れ ます。 PERFORCE サービ ス が SSL をサポー ト す る よ う に構成 さ れてい る
場合、 使用 し たいプ ロ ト コ ル と し て ssl: を設定す る こ と に よ り PERFORCE 接続を暗号化す る
こ と がで き ます。
その他のプ ロ ト コ ル (例えば、 tcp4: はプ レーン テ キ ス ト の IPv4 接続を必要 と し 、 ssl64: は暗
号化接続を必要 と し ますが、IPv4 よ り も IPv6 に よ る 転送の使用が推奨 さ れ ます) も 、混合ネ ッ
ト ワー ク 環境で使用可能です。
詳 し く は、 21 ページの 「IPv6 ネ ッ ト ワ ー ク での接続」 お よ び 『シ ス テ ム管理者ガ イ ド 』 を参
照 し て く だ さ い。
Windows のレ ジ ス ト リ または OS X のシ ス テム設定を使用する
Windows お よ び OS X のマシ ン では、 p4 set コ マ ン ド を使用 し て、 接続設定を レ ジ ス ト リ (ま
たはシ ス テ ム設定) に保存す る こ と がで き ます。 例 :
p4 set P4PORT=ssl:tea.example.com:1667
PERFORCE の設定を レ ジ ス ト リ に構成す る 方法には以下の 2 つがあ り ます。
• p4 set setting=value - 現在の ロ ーカル ・ ユーザ用。
• p4 set -s setting=value - ロ ーカル ・ マシ ン上のすべてのユーザ用。 ロ ーカル ・ ユーザ
用の レ ジ ス ト リ 設定に よ っ て上書 き さ れ る こ と が あ り ま す。 設定には管理者権限が必要で
す。
ど ち ら の設定が適用 さ れてい る か を確認す る には、p4 set コ マ ン ド を引数な し で使用 し ます。
p4 set コ マ ン ド に関 し て詳 し く は、『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を参照 し て く だ さ い。
ク ラ イ ア ン ト ・ ワー ク スペースの定義
ク ラ イ ア ン ト ・ ワー ク スペース を定義す る には、
1.
P4CLIENT を設定 し て ワー ク スペース名を指定 し ます。 例えば UNIX シ ス テ ムの場合、 以
下の よ う に し ます。
$ P4CLIENT=bruno_ws ; export P4CLIENT
2.
p4 client コ マ ン ド を発行 し ます。
PERFORCE は ク ラ イ ア ン ト ・ ワ ー ク スペース仕様フ ォーム を ユーザのテ キ ス ト ・ エデ ィ タ
に表示 し ます。 (PERFORCE の フ ォ ームに関 し て詳 し く は、 44 ページの 「Perforce フ ォ ーム
の使用」 を参照 し て く だ さ い。 )
3.
(最小限必要な) 設定を指定 し 、 仕様を保存 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
19
第 2 章 : P4 の構成
ク ラ イ ア ン ト 仕様を作成す る と き 、 フ ァ イ ルは一切同期 さ れ ま せん。 フ ァ イ ル をデ ィ ポか ら
ワ ー ク スペース に同期す る 方法を知 る には、 48 ページの 「フ ァ イ ルの同期 (取得)」 を参照 し
て く だ さ い。 マシ ン上での フ ァ イ ルの移動に関 し て詳 し く は、 27 ページの 「ワ ー ク スペース の
場所を変更す る 」 を参照 し て く だ さ い。
ク ラ イ ア ン ト ・ ワー ク スペース の構成において最小限指定 し なければな ら ない設定は以下の通
り です。
• ワ ー ク スペース名
ワ ー ク スペース名はマシ ンのホ ス ト 名をデフ ォ ル ト と し ますが、 ワ ー ク ス テーシ ョ ン には複
数の ワ ー ク ス ペー ス を 含め る こ と がで き ま す。 効果的に ワ ー ク ス ペー ス を 指定す る には、
P4CLIENT を設定 し て く だ さ い。
• ワ ー ク スペース ・ ルー ト
ク ラ イ ア ン ト ・ ワー ク スペース ・ ルー ト は ク ラ イ ア ン ト ・ ワ ー ク スペース の最上位のデ ィ レ
ク ト リ で あ り 、 PERFORCE はそ こ にデ ィ ポ ・ フ ァ イ ルの作業用 コ ピーを保存 し ま す。 ワ ー ク
スペース ・ ルー ト を必ず設定 し て く だ さ い。 そ う し ない と 、 フ ァ イ ルを不用意に自分の ワ ー
ク ス テーシ ョ ン のルー ト ・ デ ィ レ ク ト リ に同期 さ せて し ま う 可能性が あ り ま す。 (Windows
環境で ワ ー ク スペース ・ ルー ト を指定す る 際は、 ド ラ イ ブ文字 も 含め る 必要があ り ます。)
ワ ー ク スペース ・ ルー ト ・ デ ィ レ ク ト リ が存在 し ない場合は、 PERFORCE ク ラ イ ア ン ト ・ ワ ー
ク スペース ・ ビ ュ ーがそれを使用で き る よ う に事前に作成 し ておかなければな り ません。
文字 @、 #、 *、 % はそれぞれ、 PERFORCE では特別な意味があ り ます。 こ れ ら の文字を フ ァ
イ ル名ま たは フ ォ ルダ名に使用 し てい る 場合は、 40 ページの 「フ ァ イ ル名 と 識別子におけ
る 制限」 を参照 し て く だ さ い。
ク ラ イ ア ン ト ・ ワ ー ク スペース ・ ビ ュ ーに よ り 、 デ ィ ポ内の ど の フ ァ イ ルが ワ ー ク スペース に
マ ッ ピ ン グ さ れ る かが決定 さ れ、 PERFORCE が個々のデ ィ ポ と ワ ー ク スペー ス ・ フ ァ イ ルの間
に 1 対 1 のマ ッ ピ ン グ を構成す る こ と がで き ます。デ ィ ポ内での名前や場所 と は異な る 名前お
よ び ワー ク スペース内の場所に フ ァ イ ルを マ ッ ピ ン グす る こ と がで き ますが、 ワー ク スペース
ま たはデ ィ ポ内の複数の場所に フ ァ イ ル を マ ッ ピ ン グす る こ と はで き ま せん。 デ フ ォ ル ト で
は、 デ ィ ポ全体がユーザの ワ ー ク ス ペー ス にマ ッ ピ ン グ さ れ ま す。 ク ラ イ ア ン ト ・ ワ ー ク ス
ペース ・ ビ ュ ーを定義 し 、 自分に関係す る フ ァ イ ルお よ びデ ィ レ ク ト リ のみを マ ッ ピ ン グす る
こ と に よ り 、デ ィ ポ全体を不用意に自分の ワー ク スペース に同期 さ せない よ う にす る こ と がで
き ます。 詳 し く は、 22 ページの 「 ワー ク スペース ・ ビ ュ ーの限定」 を参照 し て く だ さ い。
例 : ワー ク スペース ・ ビ ュ ーの設定
ブルー ノ は、 p4 client コ マ ン ド を 発行 し て、 以下のデ フ ォ ル ト の ワ ー ク ス ペー ス ・
ビ ュー定義を含むフ ォーム を参照 し ます。
Client: bruno_ws
Update: 2011/11/29 09:46:53
Access: 2011/03/02 10:28:40
Owner:
bruno
Root:
c:\bruno_ws
Options: noallwrite noclobber nocompress unlocked nomodtime normdir
SubmitOptions: submitunchanged
LineEnd: local
View:
//depot/...
//bruno_ws/...
彼は、 ビ ューを変更 し てデ ィ ポの開発部分のみを マ ッ ピ ン グす る よ う に し ます。
View:
20
//depot/dev/...
//bruno_ws/dev/...
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
彼は さ ら にビ ュ ーを変更 し て、フ ァ イ ルを複数のデ ィ ポか ら 自分の ワー ク スペース にマ ッ
ピ ン グ し ます。
View:
//depot/dev/...
//testing/...
//archive/...
//bruno_ws/depot/dev/...
//bruno_ws/testing/...
//bruno_ws/archive/...
接続の確認
接続状態を確認す る には、 p4 info コ マ ン ド を発行 し ます。 P4PORT が正 し く 設定 さ れてい
れば、 次の よ う な情報が表示 さ れます。
User name: bruno
Client name: bruno_ws
Client host: workstation_12
Client root: c:\bruno_ws
Current directory: c:\bruno_ws
Client address: 10.0.0.196
Server address: ssl:example.com:1818
Server root: /usr/depot/p4d
Server date: 2012/03/28 15:03:05 -0700 PDT
Server uptime: 752:41:33
Server version: P4D/FREEBSD/2012.1/406375 (2012/01/25)
Server encryption: encrypted
Server license: P4Admin <p4adm> 20 users (expires 2013/01/01)
Server license-ip: 10.0.0.2
Case handling: sensitive
Server address: フ ィ ール ド には p4 が接続 し てい る ホ ス ト 、お よ び PERFORCE サービ ス が接
続を待機 し てい る ホ ス ト 名 と ポー ト 番号が表示 さ れ ま す。 P4PORT の設定が正 し く ない場合、
次の よ う な メ ッ セージ を受け取 り ます。
PERFORCE client error:
Connect to server failed; check $P4PORT.
TCP connect to perforce:1666 failed.
perforce: host unknown.
エ ラ ー ・ メ ッ セージの 3 行目に表示 さ れ る 値が perforce:1666 (上記の と お り ) であ る 場
合、 P4PORT が設定 さ れてい ません。 それ以外の値であ る 場合は、 P4PORT の設定が不正です。
P4PORT を設定 し て再接続 し て く だ さ い。
お使いの イ ン ス ト ールで SSL接続が必要 と さ れる場合、P4PORT を確実に ssl:hostname:port
の形式に し て く だ さ い。
サービ ス に最初に接続を試みた と き 、 サーバの フ ィ ン ガープ リ ン ト を検証す る こ と を要求 さ れ
ます。 フ ィ ン ガープ リ ン ト が正 し ければ、 p4 trust コ マ ン ド を使用 し て、 フ ィ ン ガープ リ ン
ト を フ ァ イ ル (P4TRUST 環境変数で指定) に イ ン ス ト ール し ます。 こ の フ ァ イ ルには、 既知
/ 信頼済みの PERFORCE サーバ と それぞれの フ ィ ン ガープ リ ン ト の リ ス ト が記録 さ れ ま す。
P4TRUST が未設定であ る 場合、こ の フ ァ イ ルはユーザのホーム ・デ ィ レ ク ト リ 内の .p4trust
です。 詳 し く は、 31 ページの 「SSL 暗号化接続」 を参照 し て く だ さ い。
お使いの イ ン ス ト ールで (古い PERFORCE アプ リ ケーシ ョ ン を サポー ト す る ため) プ レーン テ
キ ス ト 接続が必要 と さ れ る 場合、 P4PORT を tcp:hostname:port に設定 し て く だ さ い。
IPv6 ネ ッ ト ワー ク での接続
リ リ ース 2013.1 以降、 PERFORCE は IPv4 ネ ッ ト ワ ー ク と 同様に IPv6 ネ ッ ト ワー ク での接続
も サポー ト す る よ う にな り ま し た。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
21
第 2 章 : P4 の構成
ご使用中の LAN ま たは WAN の構成に よ っ て、 シ ス テ ム管理者が別のポー ト 設定を推奨す る
場合があ り ます。 ま た、 コ マ ン ド ラ イ ン ま たは P4CONFIG フ ァ イ ルを使用 し て、 構成可能変
数 net.rfc3484 を 1 に設定す る よ う 推奨す る 場合 も あ り ます。
p4 configure set net.rfc3484=1
こ う す る こ と に よ っ て、 プ ロ ト コ ルの値が明示的に指定 さ れていない場合に、 RFC3484 に準拠
し た動作が保証 さ れ ま す。 つ ま り 、 ク ラ イ ア ン ト 側の構成可能変数 net.rfc3484 が 1 に設
定 さ れ、 P4PORT が example.com:1666、 ま た は tcp:example.com:1666、 ま た は
ssl:example.com:1666 に設定 さ れてい る 場合、 ユーザのオペ レ ーテ ィ ン グ ・ シ ス テ ム は
それぞれの接続について、 バージ ョ ン化サービ ス と の通信の際に IPv4 と IPv6 の ど ち ら を使用
す る か を自動的に決定 し ます。
さ ら に詳 し い情報は、 『シ ス テ ム管理者ガ イ ド 』 に記載 さ れてい ます。
ワー ク スペース ・ ビ ュ ーの限定
デフ ォ ル ト では、 ク ラ イ ア ン ト ・ ワー ク スペース を作成す る と 、 デ ィ ポ全体がマ ッ ピ ン グ さ れ
ます。 こ のマ ッ ピ ン グ をデ ィ ポの一部のみを参照す る よ う に限定 し 、 デ ィ ポ と ワー ク スペース
の場所 と の対応関係を変更す る こ と がで き ます。
ワ ー ク ス ペー ス ・ ビ ュ ー を 表示 ま た は変更す る には、 p4 client コ マ ン ド を 発行 し ま す。
PERFORCE に よ り ク ラ イ ア ン ト 仕様フ ォ ームの [View:] フ ィ ール ド にマ ッ ピ ン グの リ ス ト が表
示 さ れ ます。
Client: bruno_ws
Owner:
bruno
Description:
Created by bruno.
Root:
C:\bruno_ws
Options: noallwrite noclobber nocompress unlocked nomodtime normdir
SubmitOptions:
submitunchanged
View:
//depot/...
//bruno_ws/...
以降のセ ク シ ョ ン において、 ク ラ イ ア ン ト ・ ワ ー ク スペース ・ ビ ュ ーの指定に関 し て詳 し く 説
明 し ます。 よ り 詳 し い情報は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 の p4 client コ マ ン ド
の説明お よ びビ ュ ーの説明を参照 し て く だ さ い。
マ ッ ピ ングの指定
ビ ュ ーは複数の マ ッ ピ ン グ で構成 さ れ、 各マ ッ ピ ン グは 2 つの部分か ら 成 り ます。
• 左側には、 デ ィ ポ内の 1 つ以上の フ ァ イ ルが次の形式で指定 さ れ ます。
//depotname/file_specification
• 右側には、 ク ラ イ ア ン ト ・ ワー ク スペース内の 1 つ以上の フ ァ イ ルが次の形式で指定 さ れま
す。 
//clientname/file_specification
ク ラ イ ア ン ト ・ ワー ク スペース ・ ビ ュ ー ・ マ ッ ピ ン グの左側を デ ィ ポ ・ サ イ ド 、 右側を ク ラ イ
ア ン ト ・ サ イ ド と 呼びます。
ワ ー ク スペース ・ フ ァ イ ルの ワ ー ク ス テーシ ョ ン上での場所を決定す る には、 ク ラ イ ア ン ト ・
ワ ー ク スペース ・ ルー ト を マ ッ ピ ン グの ク ラ イ ア ン ト ・ サ イ ド の ワー ク スペース名に置 き 換え
て く だ さ い。 例 え ば、 ク ラ イ ア ン ト ・ ル ー ト が
C:\bruno_ws
で あ る 場 合、
//depot/dev/main/jam/Jamfile フ ァ イ ル C:\bruno_ws\dev\main\jam\Jamfile と
し て格納 さ れ ます。
22
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
後に記述 さ れ る マ ッ ピ ン グが、 それ よ り 前のマ ッ ピ ン グ よ り 優先 さ れ ます。 以下の例では、 2
行目が 1 行目 よ り 優先 さ れ、 //depot/dev/main/docs/manuals/ 内の フ ァ イ ルが 2 階層
上にマ ッ ピ ン グ さ れ ま す。 //depot/dev/main/docs/manuals/ 内の フ ァ イ ルが同期 さ れ
る と 、 それ ら の フ ァ イ ルは c:\bruno_ws\docs\ に格納 さ れます。
View:
//depot/dev/...
//depot/dev/main/docs/...
//bruno_ws/dev/...
//bruno_ws/docs/...
ワー ク スペース ・ ビ ュ ーでのワ イル ド カ ー ド の使用
フ ァ イ ルの集合を ワ ー ク ス ペー ス ・ ビ ュ ーにマ ッ ピ ン グす る には、 PERFORCE ワ イ ル ド カー ド
を使用 し ます。 マ ッ ピ ン グのデ ィ ポ ・ サ イ ド で使用 さ れ る ワ イ ル ド カー ド が、 ク ラ イ ア ン ト ・
サ イ ド の ワ イ ル ド カー ド と 一致す る 必要があ り ます。 ク ラ イ ア ン ト ・ ワ ー ク スペース でのマ ッ
ピ ン グの指定には、 以下の ワ イ ル ド カー ド を使用で き ます。
ワ イル ド
カー ド
説明
*
ス ラ ッ シ ュ を除 く すべての文字に一致 し ます。 単一のデ ィ レ ク ト リ 内のみ照合 し ま
す。 お使いのプ ラ ッ ト フ ォームに よ っ ては大文字 と 小文字を区別 し ます。
...
ス ラ ッ シ ュ を含むすべての文字に一致 し ます。 再帰的に (指定 さ れたデ ィ レ ク ト リ
お よ びその配下のデ ィ レ ク ト リ 内すべて を) 照合 し ます。
%%1 - %%9 フ ァ イ ル名のサブ文字列再配置に使用する 位置指定子
単純な ク ラ イ ア ン ト ・ ビ ュ ー
//depot/dev/... //bruno_ws/dev/...
では、 デ ィ ポの dev ブ ラ ンチ内のすべての フ ァ イ ルが ク ラ イ ア ン ト ・ ワ ー ク スペース の対応す
る 場所に マ ッ ピ ン グ さ れ ま す。 例えば、 フ ァ イ ル //depot/dev/main/jam/Makefile は
ワ ー ク ス ペー ス ・ フ ァ イ ル C:\bruno_ws\dev\main\jam\Makefile に マ ッ ピ ン グ さ れ ま
す。
注 フ ァ イ ルの不必要なマ ッ ピ ン グ を避け る ため、 「...」 ワ イ ル ド カー ド の前に必ずス
ラ ッ シ ュ を入れて く だ さ い。
ワ ー ク スペース ・ ビ ュ ー内のマ ッ ピ ン グは常に、 デ ィ ポ内の フ ァ イ ルお よ びデ ィ レ ク ト リ の場
所を示 し ます。 ワ ー ク スペース ・ ビ ュ ーにあ る フ ァ イ ルの特定 リ ビ ジ ョ ン を参照す る こ と はで
き ません。
デ ィ ポの一部を マ ッ ピ ングする
デ ィ ポ ・ フ ァ イ ルの一部分だけが必要で あ る 場合、 その部分を マ ッ ピ ン グ し ま す。 ワ ー ク ス
ペース ・ ビ ュ ーの範囲を縮小す る こ と に よ り 、 コ マ ン ド が不用意に全体のデ ィ ポに影響す る こ
と も 避け ら れ ます。 ワ ー ク スペース ・ ビ ュ ーを制限す る には、 [View:] フ ィ ール ド の左側を変
更 し 、 デ ィ ポの関連部分を指定 し ます。
例 : デ ィ ポの一部を ク ラ イ ア ン ト ・ ワー ク スペース にマ ッ ピ ン グす る
ダ イ は Jam プ ロ ジ ェ ク ト に従事 し 、 Web サ イ ト を保守 し てい る ので、 [View:] フ ィ ール ド を
次の よ う に設定 し ます。
View:
//depot/dev/main/jam/...
//depot/www/live/...
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
//dai-beos-locust/jam/...
//dai-beos-locust/www/live/...
23
第 2 章 : P4 の構成
フ ァ イルを ワー ク スペースの別の場所にマ ッ ピ ングする
ビ ュ ーは複数のマ ッ ピ ン グに よ り 構成す る こ と がで き ます。 それを使用 し て、 デ ィ ポ ・ フ ァ イ
ル ・ ツ リ ーの一部を ワ ー ク スペース ・ フ ァ イ ル ・ ツ リ ーの別の部分にマ ッ ピ ン グで き ます。マ ッ
ピ ン グが衝突す る 場合、 後のマ ッ ピ ン グがそれ以前のマ ッ ピ ン グに優先 し ます。
例 : 単一の ワー ク スペース ・ ビ ュ ーにおけ る複数のマ ッ ピ ン グ
以下の ビ ュ ーに よ り 、 manuals フ ォ ルダ に あ る Microsoft Word の フ ァ イ ルが、 ワ ー ク ス
ペース内で最上位にあ る wordfiles と い う フ ォ ルダに格納 さ れます。
View:
//depot/...
//depot/dev/main/docs/manuals/*.doc
//bruno_ws/...
//bruno_ws/wordfiles/*.doc
フ ァ イルを別のフ ァ イル名にマ ッ ピ ングする
マ ッ ピ ン グに よ り 、 ク ラ イ ア ン ト ・ ワー ク スペース内の フ ァ イ ルをデ ィ ポ内の フ ァ イ ル と 異な
る 名前にす る こ と も で き ます。
例 : フ ァ イ ルをデ ィ ポ内 と ク ラ イ ア ン ト ・ ワー ク スペース内で異な る名前にす る
以下の ビ ュ ーに よ り 、 デ ィ ポ ・ フ ァ イ ルの RELNOTES が ワ ー ク ス ペー ス ・ フ ァ イ ルの
rnotes.txt にマ ッ ピ ン グ さ れます。
View:
//depot/...
//bruno_ws/...
//depot/dev/main/jam/RELNOTES //bruno_ws/dev/main/jam/rnotes.txt
フ ァ イル名の一部を再配置する
位置指定子の %%0 か ら %%9 を使用 し て、 フ ァ イ ル名 と デ ィ レ ク ト リ の一部を置 き 換え る こ と
がで き ます。
例 : 位置指定子を使用 し て フ ァ イ ル名 と デ ィ レ ク ト リ を置 き 換え る
以下の ビ ュ ーに よ り 、 デ ィ ポ ・ フ ァ イ ルの //depot/allfiles/readme.txt が ワ ー ク ス
ペース ・ フ ァ イ ルの filesbytype/txt/readme にマ ッ ピ ン グ さ れます。
View:
//depot/allfiles/%%1.%%2
//bruno_ws/filesbytype/%%2/%%1
フ ァ イルおよびデ ィ レ ク ト リ を除外する
除外マ ッ ピ ン グ に よ り 、 フ ァ イ ルお よ びデ ィ レ ク ト リ を ク ラ イ ア ン ト ・ ワー ク スペース か ら 明
示的に除外す る こ と がで き ます。 フ ァ イ ルお よ びデ ィ レ ク ト リ を除外す る には、 マ ッ ピ ン グの
先頭にマ イ ナ ス 記号 (-) を付け ます。 マ イ ナ ス 記号 と マ ッ ピ ン グの間に ス ペー ス を入れない
よ う に注意 し て く だ さ い。
例 : ビ ューを使用 し て フ ァ イ ルを ク ラ イ ア ン ト ・ ワー ク スペース か ら 除外す る
Jam プ ロ ジ ェ ク ト に従事 し てい る アールは、自分の ワー ク スペース に HTML フ ァ イ ルを同
期 し た く あ り ません。 彼の ク ラ イ ア ン ト ・ ビ ュ ーは次の よ う にな り ます。
View:
//depot/dev/main/jam/...
-//depot/dev/main/jam/....html
24
//earl-dev-beech/jam/...
//earl-dev-beech/jam/....html
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
マ ッ ピ ングの衝突を回避する
単一のビ ュ ーにおいて複数のマ ッ ピ ン グ を使用す る と き 、単一の フ ァ イ ルが不用意にデ ィ ポ ま
たは ワー ク スペース の異な る 2 つの場所にマ ッ ピ ン グ さ れ る 場合があ り ます。 こ の よ う に し て
2 つのマ ッ ピ ン グが衝突す る 場合、 後のマ ッ ピ ン グがそれ以前のマ ッ ピ ン グ を無効に し ます。
例 : 衝突す る 誤っ たマ ッ ピ ン グ
ジ ョ ーは次の よ う にビ ューを構成 し ま し た。
View:
//depot/proj1/...
//depot/proj2/...
//joe/project/...
//joe/project/...
2 番目のマ ッ ピ ン グ //depot/proj2/... が //joe/project/... にマ ッ ピ ン グ さ れ、最
初の マ ッ ピ ン グ と 衝突 し ま す。 こ の 衝突に よ り 、 最初の マ ッ ピ ン グ は無視 さ れ ま す。
//depot/proj1 に含まれてい る フ ァ イ ルは ワー ク スペース に ま っ た く マ ッ ピ ン グ さ れま
せん。 そのため //depot/proj2/file.c が存在し な く て も 、 //depot/proj1/file.c
はマ ッ ピ ン グ さ れません。
異な るデ ィ ポの場所を 1 つのワー ク スペースにマ ッ ピ ングする
オーバ レ イ ・ マ ッ ピ ン グに よ り 、 2 つ以上のデ ィ ポ ・ デ ィ レ ク ト リ の フ ァ イ ルを ワ ー ク スペー
ス の同 じ 場所にマ ッ ピ ン グ で き ま す。 2 番目のデ ィ レ ク ト リ の内容を ワ ー ク ス ペー ス にオー
バーレ イ す る には、 マ ッ ピ ン グの先頭にプ ラ ス記号 (+) を付け ます。
例 : 複数のデ ィ レ ク ト リ を同 じ ワー ク スペース にオーバーレ イ す る
ジ ョ ーは、 ワー ク スペース を同期す る と き にプ ロ ジ ェ ク ト の フ ァ イ ルを結合 し たいので、
次の よ う にビ ュ ーを構成 し ま し た。
View:
//depot/proj1/...
+//depot/proj2/...
//joe/project/...
//joe/project/...
オーバレ イ ・ マ ッ ピ ン グであ る +//depot/proj2/... は //joe/project にマ ッ ピ
ン グ し 、 最初のマ ッ ピ ン グ を オーバレ イ し ます。 オーバレ イ ・ マ ッ ピ ン グは衝突 し ませ
ん。 //depot/proj2 内の フ ァ イ ル (削除 さ れた フ ァ イ ル も 含む) が //depot/proj1
よ り も 優先 さ れます。 //depot/proj2/file.c が存在 し ない場合 (「存在す る 」 フ ァ
イ ルに相対す る が、 「削除 さ れた フ ァ イ ル」 ではない)、 代わ り に
//depot/proj1/file.c が ワー ク スペース にマ ッ ピ ン グ さ れます。
オーバーレ イ ・ マ ッ ピ ン グは、 ビル ド 環境において ス パース ・ パ ッ チを適用す る 際に役立ち ま
す。
フ ァ イル名およびデ ィ レ ク ト リ 名における スペースの取 り 扱い
スペース を含むフ ァ イ ル ま たはデ ィ レ ク ト リ は、 引用符を使用 し て囲みます。
例 : フ ァ イ ル名 と デ ィ レ ク ト リ 名の スペース に対応す る
ジ ョ ーは、 デ ィ ポ内の フ ァ イ ルを ワー ク スペース にマ ッ ピ ン グ し たいのですが、 い く つかの
パ ス に スペース が含まれてい ます。
View:
"//depot/Release 2.0/..."
"//depot/Release 1.1/..."
//depot/webstats/2011/...
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
//joe/current/...
"//joe/Patch Release/..."
"//joe/2011 Web Stats/..."
25
第 2 章 : P4 の構成
マ ッ ピ ン グのサーバ側、 ク ラ イ ア ン ト 側、 ま たは両側で、 パ ス の構成要素の前後に引用符
を挿入す る こ と に よ り 、ジ ョ ーは スペース を含むフ ァ イ ル名やデ ィ レ ク ト リ 構成要素を指
定す る こ と がで き ます。
詳 し く は、40 ページの 「フ ァ イ ル名、パ ス名、識別子での スペース の使用」 を参照 し て く だ さ い。
Windows のワー ク スペース を複数の ド ラ イ ブにマ ッ ピ ングする
複数の Windows ド ラ イ ブにわた っ て PERFORCE ワ ー ク スペース を指定す る には、 [Root:] を null
に設定 し 、 ワ ー ク スペース ・ ビ ュ ーで ド ラ イ ブ文字を (小文字で) 指定 し ます。 以下に例を示
し ます。
Client:
bruno_ws
Update:
2011/11/29 09:46:53
Access:
2011/03/02 10:28:40
Owner:
bruno
Root:
null
Options:
noallwrite noclobber nocompress unlocked nomodtime normdir
SubmitOptions: submitunchanged
LineEnd:
local
View:
//depot/dev/...
"//bruno_ws/c:/Current Release/..."
//depot/release/... "//bruno_ws/d:/Prior Releases/..."
//depot/www/...
//bruno_ws/d:/website/...
同一のワー ク スペース を異な る マシ ン で使用する
デフ ォ ル ト では、 [Host:] フ ィ ール ド で指定 さ れたマシ ン上の ワー ク スペース のみが使用で き
ます。 同一の ワ ー ク ス ペー ス を異な る プ ラ ッ ト フ ォ ーム の複数のマ シ ン上で使用 し たい場合、
ク ラ イ ア ン ト ・ ワー ク スペース仕様の [Host:] 項目を削除 し 、 [AltRoots:] フ ィ ール ド を設
定 し て く だ さ い。 ワー ク スペース ・ ルー ト は 2 つま で指定で き ます。 指定す る 場所は、 例えば
NFS ま たは Samba マ ウ ン ト を介 し て、 使用す る すべてのマ シ ン か ら 参照可能で あ る 必要があ
り ます。
PERFORCE は現在の作業デ ィ レ ク ト リ を最初に メ イ ン の [Root:] と 比較 し 、 次に (指定 さ れて
いれば) 2 つの [AltRoots:] と 比較 し ます。 現在の作業デ ィ レ ク ト リ と 一致す る ルー ト ・ デ ィ
レ ク ト リ が使用 さ れ ます。 ルー ト が一致 し ない場合、 メ イ ン ・ ルー ト が使用 さ れます。
注 ワ ー ク ス ペー ス ・ ルー ト に Windows の デ ィ レ ク ト リ を 使用 し て い る 場合、 そ の
Windows のデ ィ レ ク ト リ を メ イ ン の ク ラ イ ア ン ト [Root:] に指定 し 、 他の ワ ー ク ス
ペース ・ ルー ト ・ デ ィ レ ク ト リ を [AltRoots:] フ ィ ール ド に指定 し て く だ さ い。
以下の例において、 ユーザ bruno の現在の作業デ ィ レ ク ト リ が /usr/bruno の下で あ る 場
合、 PERFORCE は c:\bruno_ws ではな く UNIX のパ ス を ワ ー ク スペー ス ・ ルー ト と し て使用
し ます。 こ の手法に よ り 、 bruno は UNIX と Windows の両開発環境において同一の ク ラ イ ア ン
ト ・ ワー ク スペース仕様を使用す る こ と がで き ます。
Client: bruno_ws
Owner: bruno
Description:
Created by bruno.
Root:
c:\bruno_ws
AltRoots:
/usr/bruno/
ど ち ら の ワー ク スペース ・ ルー ト が適用 さ れてい る か確認す る には、 p4 info コ マ ン ド を発
行 し て [Client root:] フ ィ ール ド をチ ェ ッ ク し ます。
同一の ワ ー ク ス ペー ス に あ る テ キ ス ト ・ フ ァ イ ル を異な る プ ラ ッ ト フ ォ ーム か ら 編集す る 場
合、 使用す る エデ ィ タ お よ び設定で行末が保持 さ れ る こ と を確認 し て く だ さ い。 異な る プ ラ ッ
26
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
ト フ ォ ーム間での行末 コ ー ド 設定について詳 し く は、 『PERFORCE シ ス テ ム管理者ガ イ ド 』 を ご
覧 く だ さ い。
自動的にワー ク スペースから 空のデ ィ レ ク ト リ を削除する
デフ ォ ル ト では、 PERFORCE は空のデ ィ レ ク ト リ を ワ ー ク ス ペース か ら 削除 し ません。 こ の動
作を変更す る には、p4 client コ マ ン ド を実行 し 、Options: フ ィ ール ド において、オプシ ョ
ン normadir を rmdir に変更 し ます。
ワ ー ク ス ペー ス ・ オプシ ョ ン の変更に関 し て詳 し く は、 28 ページの 「ワ ー ク ス ペー ス ・ オプ
シ ョ ンの構成」 を ご覧 く だ さ い。
ワー ク スペースの場所を変更する
ワ ー ク ス ペ ー ス 内 の フ ァ イ ル の 場 所 を 変 更す る に は、 p4 client コ マ ン ド を 発行 し て
[Root:] フ ィ ール ド お よ び [View:] フ ィ ール ド の一方ま たは両方を変更 し て く だ さ い。こ れ ら
の設定を変更す る 前に、(作業状態の フ ァ イ ルをサブ ミ ッ ト ま たは復元す る こ と に よ り ) チ ェ ッ
ク ア ウ ト さ れてい る フ ァ イ ルがない よ う に し て く だ さ い。
両方の フ ィ ール ド を変更す る 場合、 以下の手順に よ り 、 ワー ク スペース の フ ァ イ ルが正 し く 配
置 さ れ る よ う に し て く だ さ い。
1.
フ ァ イ ルを ワ ーク ス ペース 内の古い場所から 削除する ため、 p4 sync ...#none コ マン
ド を 発行し ま す。
2.
[Root:] フ ィ ール ド を変更 し ます。(新 し い ク ラ イ ア ン ト ・ ワー ク スペース のルー ト ・ デ ィ
レ ク ト リ は、フ ァ イ ルを そ こ に取 り 込む前に ワー ク ス テーシ ョ ン上に存在 し ていなければ
な り ません。)
3.
フ ァ イ ルを ワー ク スペース内の新 し い場所に コ ピーす る ため、 p4 sync コ マ ン ド を発行
し ます。 ( ワー ク スペース ・ ビ ュ ーを変更す る 前に p4 sync ...#none を実行す る の を
忘れて も 、 後か ら 手動で フ ァ イ ルを元の ク ラ イ ア ン ト ・ ワ ー ク スペース か ら 削除す る こ と
がで き ます。)
4.
[View:] フ ィ ール ド を変更 し ます。
5.
再度 p4 sync を実行 し ます。 ク ラ イ ア ン ト ・ ワー ク スペース内の フ ァ イ ルが新 し い場所
に同期 さ れ ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
27
第 2 章 : P4 の構成
ワー ク スペース ・ オプ シ ョ ンの構成
ワ ー ク スペース の [Options:] フ ィ ール ド の詳細を以下の表に示 し ます。
オプ シ ョ ン
意味
[no]allwrite
作業状態にな っ ていない フ ァ イ ルは常に書 き 込み可能 と す る noallwrite
か を指定 し ます。 デフ ォ ル ト では、 PERFORCE サーバは作業状
態にな っ ていない フ ァ イ ルを読み取 り 専用に し ます。フ ァ イ ル
の不用意な上書 き や同期の失敗を防 ぐ ため、 noallwrite を
指定 し て く だ さ い。
デ フ ォル ト
allwrite が設定 さ れ て い る 場合、 こ の オ プ シ ョ ン に よ り
noclobber は無効にな り ます。
allwrite が設定 さ れ る と 、作業状態にな っ ていない フ ァ イ ル
は現在のユーザが書き 込み可能な状態の ま ま にな り ます。複数
シ ス テ ム のユーザか ら 書 き 込み可能で あ る よ う に フ ァ イ ルシ
ス テ ムのパー ミ ッ シ ョ ン を設定する こ と はあ り ません。
[no]clobber
p4 sync の実行時、 作業状態に な っ て い な い書 き 込み可能 noclobber
フ ァ イ ルを上書 き す る か を指定 し ます。 (デフ ォ ル ト では、 作
業状態に な っ て い な い フ ァ イ ルが書 き 込み可能で あ る 場合、
PERFORCE はそれを上書き し ません。)
allwriteが設定 さ れてい る 場合、clobberが暗黙的に想定 さ
れ、noclobber オプシ ョ ンが設定 さ れていて も 無視 さ れます。
[no]compress
ワ ー ク ス テーシ ョ ン と PERFORCE サーバの間で送信 さ れ る デー nocompress
タ を圧縮す る か を指定 し ます。
[un]locked
他のユーザに よ り ク ラ イ ア ン ト ・ ワ ー ク スペース仕様の使用、 unlocked
編集ま たは削除が可能であ る か を指定 し ます。 PERFORCE 管理
者は -f (force) オプシ ョ ン を使っ て ロ ッ ク を オーバー ラ イ ド す
る こ と がで き ます。
ク ラ イ アン ト ・ ワ ーク ス ペース 仕様を ロ ッ ク する 場合、必ずワ ー
ク ス ペース 所有者用のパス ワ ード を p4 passwd コ マン ド によ
り 設定し てく ださ い。
[no]modtime
+m (modtime) フ ァ イ ル タ イ プ修飾子を 持た ない フ ァ イ ルの場
合、 modtime が設定 さ れてい る と 、 フ ァ イ ルがデ ィ ポにサブ
ミ ッ ト さ れた と き にフ ァ イ ルに表示 さ れた日付が、新たに同期
さ れた フ ァ イルの更新日 ( ロ ーカル ・ フ ァ イ ルシ ス テ ム上の)
にな り ます。 nomodtime が設定 さ れてい る 場合、 同期の日時
が更新日にな り ます。
nomodtime 
(同期の日時)
+m フ ァ イ ル タ イ
プ修飾子 を 持つ
フ ァ イ ルについて
は無視 さ れます。
+m (modtime) フ ァ イ ル タ イ プ修飾子を 持つ フ ァ イ ルの場合、 ク
ラ イ ア ン ト の modtime ま たは nomodtime の設定に関係な
く 、フ ァ イ ルがデ ィ ポにサブ ミ ッ ト さ れた と き に フ ァ イ ルに表
示 さ れた日付が、 新たに同期 さ れた フ ァ イ ルの更新日 ( ロ ーカ
ル ・ フ ァ イ ルシ ス テ ム上の) にな り ます。
[no]rmdir
28
デ ィ レ ク ト リ 内のすべ て の フ ァ イ ルが削除 さ れ た 場合、 p4 normdir
sync に よ り ワ ー ク ス ペー ス 内の空のデ ィ レ ク ト リ を 削除す
る か を指定 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
サブ ミ ッ ト ・ オプ シ ョ ンの設定
チ ェ ン ジ リ ス ト をデ ィ ポにサブ ミ ッ ト す る と き 、 チ ェ ン ジ リ ス ト 内の フ ァ イ ルを ど の よ う に扱
う か を制御す る には、 [SubmitOptions:] フ ィ ール ド を設定 し ます。 有効な設定を以下に示
し ます。
オプ シ ョ ン
意味
submitunchanged
すべての作業状態の フ ァ イ ル (変更の有無にかかわ ら ず) がデ ィ ポに
サブ ミ ッ ト さ れます。 こ れは PERFORCE のデフ ォ ル ト の動作です。
submitunchanged+reopen
すべての作業状態の フ ァ イ ル (変更の有無にかかわ ら ず) がデ ィ ポに
サブ ミ ッ ト さ れ、 すべての フ ァ イ ルが自動的にデフ ォ ル ト ・ チ ェ ン ジ
リ ス ト で再度作業状態に さ れます。
revertunchanged
内容 ま たは フ ァ イ ル タ イ プが変更 さ れた フ ァ イ ルのみがデ ィ ポにサ
ブ ミ ッ ト さ れます。 未変更の フ ァ イ ルは元に戻 し ます。
revertunchanged+reopen
内容 ま たは フ ァ イ ル タ イ プが変更 さ れた フ ァ イ ルのみがデ ィ ポにサ
ブ ミ ッ ト さ れ、 デフ ォ ル ト ・ チ ェ ン ジ リ ス ト で再度作業状態に さ れま
す。 未変更の フ ァ イ ルは元に戻 し ますが、 デフ ォ ル ト ・ チ ェ ン ジ リ ス
ト では作業状態に さ れません。
leaveunchanged
内容 ま たは フ ァ イ ル タ イ プが変更 さ れた フ ァ イ ルのみがデ ィ ポにサ
ブ ミ ッ ト さ れます。 未変更の フ ァ イ ルはデフ ォ ル ト ・ チ ェ ン ジ リ ス ト
に移動 さ れます。
leaveunchanged+reopen
内容 ま たは フ ァ イ ル タ イ プが変更 さ れた フ ァ イ ルのみがデ ィ ポにサ
ブ ミ ッ ト さ れます。 未変更の フ ァ イ ルはデフ ォ ル ト ・ チ ェ ン ジ リ ス ト
に移動 さ れ、 変更済みの フ ァ イ ルはデフ ォ ル ト ・ チ ェ ン ジ リ ス ト で再
度 作 業 状 態 に さ れ ま す。 こ の オ プ シ ョ ン は
submitunchanged+reopen と 似てい ますが、 未変更の フ ァ イ ルは
デ ィ ポにサブ ミ ッ ト さ れません。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
29
第 2 章 : P4 の構成
行末 コ ー ド の設定
テ キ ス ト ・ フ ァ イ ル を 同 期 す る と き 、 行 末 を ど の よ う に 変 換 す る か を 指 定 す る に は、
[LineEnd:] フ ィ ール ド を設定 し ます。 有効な設定を以下に示 し ます。
オプ シ ョ ン
意味
local
ク ラ イ ア ン ト に固有のモー ド を使用 (デフ ォ ル ト )
unix
UNIX 形式 (お よ び Mac OS X) の行末識別 : LF
mac
OS X よ り 前のバージ ョ ンの Mac の行末識別 : CR のみ
win
Windows 形式 : CR、 LF
share
shareオプシ ョ ンは混在 し た行末を UNIXの行末形式に標準化 し ます。shareオプ
シ ョ ンは ク ラ イ ア ン ト ・ ワー ク スペース に同期 さ れた フ ァ イ ルには影響 し ません。
し か し 、 フ ァ イ ルが PERFORCE サービ ス にサブ ミ ッ ト し て戻 さ れ る 際、 share オ
プシ ョ ンに よ り Windows 形式の行末であ る CR/LF お よ び Mac 形式の行末であ る
CR はすべて UNIX 形式の LF に変換 さ れ、 LF はその ま ま残 さ れます。
ク ラ イ ア ン ト ・ ワ ー ク スペース の同期の際、 行末は LF に設定 さ れます。 フ ァ イ
ルを Windows マシ ンで編集す る 場合、エデ ィ タ に よ り 各 LF の前に CR が挿入 さ れ
て も 、 追加 さ れた CR はアーカ イ ブ ・ フ ァ イ ル内には現れません。
share オプシ ョ ン を よ く 使用する のは、UNIX ホーム ・デ ィ レ ク ト リ を ネ ッ ト ワ ー
ク ・ ド ラ イ ブ と し てマ ウ ン ト し てい る Windows ワ ー ク ス テーシ ョ ン のユーザで
し ょ う。
PERFORCE に よ る 行末設定の使用方法に関 し て詳 し く は、 PERFORCE knowledge base の "CR/LF
Issues and Text Line-endings" を参照 し て く だ さ い。
http://kb.perforce.com/article/63
ク ラ イ ア ン ト ・ ワー ク スペース仕様を削除する
ワ ー ク スペース を削除す る には、 p4 client -d clientname コ マ ン ド を使用 し ます。 ク ラ
イ ア ン ト ・ ワ ー ク スペース を削除す る と 、 PERFORCE の ワ ー ク スペー ス についての記録が削除
さ れ ま すが、 ワ ー ク ス ペー ス ま たはデ ィ ポか ら 実際に フ ァ イ ルが削除 さ れ る こ と はあ り ま せ
ん。
ワ ー ク スペース仕様を削除す る 手順を以下に示 し ます。
1.
こ の ワー ク スペース に関連す る 作業中ま たは保留 さ れたチ ェ ン ジ リ ス ト を元に戻すか、サ
ブ ミ ッ ト し ます。
2.
ク ラ イ ア ン ト ・ ワー ク スペース か ら 既存の フ ァ イ ルを削除 し ます (p4 sync ...#none)。
( 任意 )
3.
ワ ー ク スペース仕様を削除 し ます。
ワ ー ク スペース か ら フ ァ イ ルを削除す る 前に ワー ク スペース仕様を削除す る 場合、お使いのオ
ペレーテ ィ ン グ ・ シ ス テ ムの フ ァ イ ル削除 コ マ ン ド を使用 し て ワー ク スペース の フ ァ イ ルを削
除で き ます。
30
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
セキ ュ リ テ ィ
セキ ュ リ テ ィ を確保す る ため、PERFORCE 管理者は PERFORCE サービ ス が SSL 暗号化接続お よ び
ユーザ ・ パ ス ワー ド を要求す る よ う に し 、 ロ グ イ ン ・ チケ ッ ト の有効期間を制限す る よ う に設
定で き ます。 設定について、 次のセ ク シ ョ ン で詳 し く 説明 し ます。
SSL 暗号化接続
お使いの イ ン ス ト ールで SSL接続が必要 と さ れる場合、P4PORT を確実に ssl:hostname:port
の形式に し て く だ さ い。 SSL 接続が有効に さ れた PERFORCE サーバでプレーン テキ ス ト に よ る通
信を行お う と する と 、 次のエ ラ ー ・ メ ッ セージが表示さ れます。
Failed client connect, server using SSL.
Client must add SSL protocol prefix to P4PORT.
P4PORT を ssl:hostname:port に設定 し て、 サーバに再接続を試みて く だ さ い。
SSL が有効に さ れてい る サーバに最初に暗号化接続を確立 し た と き に、 サーバの フ ィ ン ガープ
リ ン ト を検証す る よ う に要求 さ れます。
The authenticity of '10.0.0.2:1818' can't be established,
this may be your first attempt to connect to this P4PORT.
The fingerprint for the key sent to your client is
CA:BE:5B:77:14:1B:2E:97:F0:5F:31:6E:33:6F:0E:1A:E9:DA:EF:E2
サ イ ト の管理者は、 表示 さ れた フ ィ ン ガープ リ ン ト が正 し いか否か を確認す る こ と がで き ま
す。 フ ィ ン ガープ リ ン ト が正 し い場合 (に限 り )、 P4 TRUST を使用 し てそれを自分の P4TRUST
フ ァ イ ルに追加 し ます。 P4TRUST が未設定であ る 場合、 こ の フ ァ イ ルはユーザのホーム ・ デ ィ
レ ク ト リ 内の .p4trust であ る と 想定 さ れ ます。
$ p4 trust
The fingerprint of the server of your P4PORT setting
'ssl:example.com:1818' (10.0.0.2:1818) is not known.
That fingerprint is
CA:BE:5B:77:14:1B:2E:97:F0:5F:31:6E:33:6F:0E:1A:E9:DA:EF:E2
Are you sure you want to establish trust (yes/no)?
Added trust for P4PORT 'ssl:example.com:1818' (10.0.0.2:1818)
フ ィ ン ガープ リ ン ト が正 し ければ、 yes と 入力 し て こ のサーバを信頼 し ます。 フ ィ ン ガープ リ
ン ト を直接 コ マ ン ド ラ イ ン か ら trust フ ァ イ ルに イ ン ス ト ールす る こ と も 可能です。 次の コ マ
ン ド を実行 し ます。
p4 trust -p ssl:hostname:port -i fingerprint
ただ し 、 ssl:hostname:port はお使いの P4PORT の設定に該当 し 、 fingerprint はサ イ
ト の管理者が確認 し た フ ィ ン ガープ リ ン ト に該当 し ます。
こ れ以降は、 example.com:1818 のサーバが P4TRUST フ ァ イ ル内に記録 さ れた も の と 同 じ
フ ィ ン ガープ リ ン ト を報告 し 続け る 限 り 、 ssl:example.com:1818 への SSL 接続が信頼 さ
れます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
31
第 2 章 : P4 の構成
PERFORCE サーバが信頼済みの も の と は異な る フ ィ ン ガープ リ ン ト を報告す る と 、次のエ ラ ー ・
メ ッ セージが表示 さ れます。
******* WARNING P4PORT IDENTIFICATION HAS CHANGED! *******
It is possible that someone is intercepting your connection
to the Perforce P4PORT '10.0.50.39:1667'
If this is not a scheduled key change, then you should contact
your Perforce administrator.
The fingerprint for the mismatched key sent to your client is
18:FC:4F:C3:2E:FA:7A:AE:BC:74:58:2F:FC:F5:87:7C:BE:C0:2D:B5
To allow connection use the 'p4 trust' command.
こ のエ ラ ー ・ メ ッ セージは、 そのサーバの フ ィ ン ガープ リ ン ト が P4TRUST フ ァ イ ルに保存 さ
れた も のか ら 変更 さ れてい る こ と と 、 サーバの SSL 証明書が変更 さ れてい る こ と を示 し ます。
フ ィ ン ガープ リ ン ト への変更が正当な も のであ る 場合で も (例えば、 サーバの SSL 証明書の有
効期間を管理者が制御 し てい る 場合に証明書が期限切れにな っ てい る 可能性があ る と き ) 、 セ
キ ュ リ テ ィ ・ リ ス ク の存在を示す こ と があ り ます。
警告 こ のエ ラ ー ・ メ ッ セージが表示 さ れ、 PERFORCE 管理者か ら サーバのキー と 証
明書のペア を変更 し た と い う 連絡がない場合、 報告 さ れた フ ィ ン ガープ リ ン ト
が正 し いか を ユーザが個別に検証 し なければな り ません。
新 し い フ ィ ン ガープ リ ン ト の正確 さ を個別に (会社の イ ン ト ラ ネ ッ ト ・ サ イ ト
で確認す る か、 個人的に管理者に問い合わせ る な ど、 帯域外の手段を用いて)
確認で き な い場合は、 変更 さ れた フ ィ ン ガープ リ ン ト を 信頼 し てはな り ま せ
ん。
プ レーン テキス ト 接続を必要 と するサービ スに接続する
お使いの PERFORCE イ ン ス ト ールで (古い PERFORCE アプ リ ケーシ ョ ン を サポー ト す る ため) プ
レーン テ キ ス ト 接続が必要 と さ れ る 場合、 P4PORT を tcp:hostname:port に設定 し て く だ
さ い。 プ レーン テ キ ス ト 接続を予期す る サービ ス に SSL を使用 し て接続 し よ う と す る と 、 次の
エ ラ ー ・ メ ッ セージが表示 さ れます。
Perforce client error:
SSL connect to ssl:host:port failed (Connection reset by peer).
Remove SSL protocol prefix from P4PORT.
P4PORT を tcp:hostname:port に(ま たは、リ リ ース 2011.1 以前のアプ リ ケーシ ョ ン を使用
し てい る 場合は P4PORT を hostname:port に) 設定 し て、 サービ スへの再接続を試みて く
だ さ い。
パスワー ド
PERFORCE イ ン ス ト ールが適用 し てい る セキ ュ リ テ ィ ・ レベルに よ っ て、 PERFORCE コ マ ン ド を
実行す る 前に PERFORCE に ロ グ イ ンす る 必要があ る 場合があ り ます。 パ ス ワ ー ド を使用 し ない
と 、 ど のユーザ も 、 P4USER の値を別のユーザ名に設定 し た り 、 -u オプシ ョ ン を付けて p4 コ
マ ン ド を発行す る こ と に よ り 、 他の PERFORCE ユーザ と し て操作す る こ と が可能です。 セキ ュ
リ テ ィ を向上 さ せ る には、 パ ス ワー ド を使用 し て く だ さ い。
パスワー ド の設定
PERFORCE ユーザにパ ス ワ ー ド を作成す る には、 p4 passwd コ マ ン ド を発行 し て く だ さ い。
パ ス ワ ー ド の長 さ は 1024 文字 ま でです。 シ ス テ ム管理者は、 PERFORCE が 「強力な」 パ ス
ワ ー ド を要求す る よ う に設定す る こ と がで き 、 パ ス ワ ー ド の最小文字数を指定で き ま す。 デ
32
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
フ ォ ル ト のパ ス ワ ー ド が与え ら れてい る 場合は、 ユーザが PERFORCE を最初に使用す る 前に
パ ス ワー ド の変更を必須 と す る よ う に管理者が さ ら に設定で き ます。
PERFORCE サービ ス ではデフ ォ ル ト で、 パ ス ワ ー ド が 8 文字以上で以下の条件の 2 つ以上に
該当 し ていれば、 そのパ ス ワ ー ド は強力であ る と 定義 さ れてい ます。
• パ ス ワー ド に大文字が含まれてい る
• パ ス ワー ド に小文字が含まれてい る
• パ ス ワー ド に非アルフ ァ ベ ッ ト 文字が含まれてい る
パ ス ワー ド の最小文字数が 8 文字であ る 環境では、例えば a1b2c3d4、A1B2C3D4、aBcDeFgH
と いっ たパ ス ワ ー ド は強力であ る と みな さ れます。
パ ス ワー ド の リ セ ッ ト や削除を行 う には (パ ス ワー ド を知 ら ない場合)、 PERFORCE の スーパー
ユーザ権限が必要です。 パ ス ワ ー ド を リ セ ッ ト す る 必要が生 じ た場合は、 PERFORCE 管理者に
連絡 し て く だ さ い。 詳 し く は、 『PERFORCE シ ス テ ム管理者ガ イ ド 』 を ご覧 く だ さ い。
パスワー ド の使用
PERFORCE ユーザにパ ス ワ ー ド が設定 さ れてい る 場合、 p4 コ マ ン ド を発行す る 際にはそのパ ス
ワ ー ド を使用 し なければな り ません。 パ ス ワー ド を使用す る には、 次のいずれかの方法を用い
ます。
• 他の コ マ ン ド を発行す る 前に p4 login コ マ ン ド を発行 し 、 PERFORCE に ロ グ イ ンす る
• 環境設定ま たは構成フ ァ イ ルにおいて、 P4PASSWD に自分のパ ス ワー ド を設定す る
• p4 コ マ ン ド 発行時に -P password オプシ ョ ン を指定す る (例 : p4 -P mypassword
submit)
• Windows ま たは OS X の場合 : p4 set -s コ マ ン ド を使用 し てパ ス ワ ー ド を保存 し ます。セ
キ ュ リ テ ィ ・ レベルの高いサ イ ト にはお奨め し ません。 PERFORCE 管理者は こ の機能を無効
にす る こ と がで き ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
33
第 2 章 : P4 の構成
接続時間の制限
PERFORCE 管理者は、 ユーザに対 し て時間制限を設定す る よ う に PERFORCE サービ ス を構成す る
こ と がで き ます。 PERFORCE ではチケ ッ ト ベース の認証を使用 し て時間制限を設定 し ます。 チ
ケ ッ ト ベース の認証は環境変数や コ マ ン ド ラ イ ン ・ オプシ ョ ン に依存 し ないため、 パ ス ワー ド
ベース の認証 よ り 安全です。
チケ ッ ト はユーザのホーム ・ デ ィ レ ク ト リ 内の フ ァ イ ルに保存 さ れます。 チケ ッ ト は ロ グ イ ン
後、 制限時間 ( デフ ォ ル ト では 12 時間 ) が経過す る ま で有効です。
ロ グ イ ン お よびロ グアウ ト
サ イ ト に時間制限が適用 さ れてい る 場合、p4 login コ マ ン ド を発行 し てチケ ッ ト を取得 し な
ければな り ません。 パ ス ワー ド ・ プ ロ ンプ ト にパ ス ワ ー ド を入力 し て く だ さ い。 ロ グ イ ンに成
功す る と 、 チケ ッ ト がホーム ・ デ ィ レ ク ト リ 内のチケ ッ ト ・ フ ァ イ ルに作成 さ れ ます。 チケ ッ
ト の有効期限が切れ る か、 p4 logout コ マ ン ド の発行に よ り ロ グ ア ウ ト す る ま で、 再 ロ グ イ
ンは要求 さ れ ません。
ロ グ イ ン期限が切れ る ま での時間を確認す る には、 次の コ マ ン ド を発行 し ます。
p4 login -s
チケ ッ ト が有効で あ る 場合、 残 り 時間が表示 さ れ ます。 チケ ッ ト の有効期間を延長す る には、
ロ グ イ ン し てい る 間に p4 login を使用 し ます。 チケ ッ ト の有効期限は、 初期 タ イ ム ア ウ ト 設
定値の 1/3 だけ延長 さ れ ます ( 最大でチケ ッ ト の 初期 タ イ ム ア ウ ト 設定値ま で )。
PERFORCE か ら ロ グ ア ウ ト す る には、 以下の コ マ ン ド を発行 し ます。
p4 logout
複数のマ シ ン を使用する場合
デフ ォ ル ト では、 チケ ッ ト は ロ グ イ ン し たマシ ン の IP ア ド レ ス に対 し てのみ有効です。 (多 く
の UNIX 環境にみ ら れ る よ う に) 1 つの ホーム ・ デ ィ レ ク ト リ を共有す る 複数のマ シ ン か ら
PERFORCE を使用す る 場合、 次の コ マ ン ド に よ り ロ グ イ ン し ます。
p4 login -a
p4 login -a を使用す る と 、 チケ ッ ト はすべての IP ア ド レ ス か ら 有効な ホーム ・ デ ィ レ ク ト
リ 内に作成 さ れ る ため、 PERFORCE に複数のマシ ン か ら ロ グ イ ンす る こ と がで き ます。
すべてのマシ ン か ら 同時に ロ グ ア ウ ト す る には、 次の コ マ ン ド を発行 し ます。
p4 logout -a
p4 login お よ び p4 logout コ マ ン ド に関 し て詳 し く は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を
ご覧 く だ さ い。
Unicode で作業する
PERFORCE サービ ス を Unicode モー ド で起動 し て、 Unicode 文字を含むフ ァ イ ル名やデ ィ レ ク ト
リ 名、 お よ び Unicode 文字を含む PERFORCE 識別子 (ユーザ名な ど) や仕様 (チ ェ ン ジ リ ス ト
の コ メ ン ト ま たはジ ョ ブ) に対す る サポー ト を有効にす る こ と がで き ます。
34
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 2 章 : P4 の構成
Unicode モー ド の PERFORCE サービ ス は、 Unicode の フ ァ イ ルお よ び メ タ デー タ を ユーザの ワ ー
ク ス テーシ ョ ン用に構成 さ れた文字セ ッ ト に変換 し 、 unicode フ ァ イ ルや メ タ デー タ に有効
な UTF-8 の文字が含ま れてい る こ と を検証 し ます。
注 Unicode 文字を含むテ キ ス ト ・ フ ァ イ ルを管理す る だけで よ く 、 上述 し た機能
が必要ない場合は、 PERFORCE を Unicode モー ド で動作 さ せ る 必要はあ り ませ
ん。 お使いのサ イ ト が Unicode モー ド を使用 し てい る か ど う かは、 シ ス テ ム
管理者にお尋ね く だ さ い。
こ れ ら の イ ン ス ト ールでは、PERFORCE フ ァ イ ル タ イ プの utf16 を Unicode 文
字を含むテ キ ス ト ・ フ ァ イ ルに割 り 当て ます。 環境変数の P4CHARSET ま た
は P4COMMANDCHARSET を設定す る 必要はあ り ません。 詳 し く は、 119 ペー
ジの 「Unicode の フ ァ イ ルに フ ァ イ ル タ イ プ を割 り 当て る 」 を参照 し て く だ さ
い。
Unicode モー ド のサーバ間で適切に相互運用を行 う ため、 ま た フ ァ イ ルの同期やサブ ミ ッ ト の
際にその よ う な フ ァ イ ルが PERFORCE サービ ス に よ っ て正 し く 変換 さ れ る よ う に、P4CHARSET
を テ キ ス ト エデ ィ タ やIDE な ど それ ら にア ク セ スす る アプ リ ケーシ ョ ン に よ っ て ワ ー ク ス テー
シ ョ ン で使用 さ れ る 形式に対応 し た文字セ ッ ト に設定 し なければな り ません。 こ れ ら の形式は
通常、 [ 名前を付けて保存 ...] メ ニ ュ ー ・ オプシ ョ ン を使用 し て フ ァ イ ルを保存す る 際に一覧
表示 さ れ ます。
utf16 ま たはutf32で始ま る P4CHARSETの値については、さ ら にP4COMMANDCHARSET を サー
バ出力を表示 さ せたい utf16 ま たは utf32 以外の文字セ ッ ト に設定す る 必要があ り ます。
「サーバ出力」 には、 情報やエ ラ ーの メ ッ セージ、 差分出力、 お よ びレ ポー ト 作成 コ マ ン ド に
よ り 返 さ れ る 情報が含ま れます。
有効な P4CHARSET の値を一覧表示す る には、 p4 help charset コ マ ン ド を実行 し ます。
詳 し く は 『シ ス テ ム管理者ガ イ ド 』 を参照 し て く だ さ い。
Windows 環境での P4CHARSET の設定
あ る ワー ク ス テーシ ョ ン のすべてのユーザに P4CHARSET を設定す る には、 Windows の管理者
権限が必要です。 次の コ マ ン ド を実行 し て く だ さ い。
p4 set -s P4CHARSET=character_set
現在 ロ グ イ ン し てい る ユーザに P4CHARSET を設定す る には、
p4 set P4CHARSET=character_set
お使いの ワー ク ス テーシ ョ ン に、 True Type ま たは Open Type の フ ォ ン ト が イ ン ス ト ール さ れ
てい る 必要があ り ます。
UNIX 環境での P4CHARSET の設定
コ マ ン ド シ ェ ルま たは .kshrc、 .cshrc、 .profile な ど の起動ス ク リ プ ト に P4CHARSET
を設定す る こ と がで き ます。 P4CHARSET の適切な値を決定す る には、 LANG ま たは LOCALE
の環境変数の設定を調べます。 一般的な設定を以下に示 し ます。
LANG の設定
P4CHARSET の設定
en_US.ISO_8859-1
iso8859-1
ja_JP.EUC
eucjp
ja_JP.PCK
shiftjis
通常は、 日本語の イ ン ス ト ールでは P4CHARSET を eucjp に設定 し 、 ヨ ー ロ ッ パ言語の イ ン
ス ト ールでは P4CHARSET を iso8859-1 に設定 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
35
第 2 章 : P4 の構成
36
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
P4 コ マ ン ド の発行
第3章
本章では p4 コ マ ン ド についての基本的な情報を、 コ マ ン ド ラ イ ン構文、 引数、 オプシ ョ ン も
含めて説明 し ます。 コ マ ン ド の構文に関す る 詳細説明は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』
を ご覧 く だ さ い。
い く つ か の コ マ ン ド に は 管理者権限 ま た は ス ー パ ー ユ ー ザ 権限 が 必要 で す。 詳 し く は、
『PERFORCE シ ス テ ム管理者ガ イ ド 』 を ご覧 く だ さ い。
コ マ ン ド ラ イ ンの構文
コ マ ン ド の基本構文は以下の と お り です。
p4 [global options] command [command-specific flags] [command
arguments]
以下のオプシ ョ ンはすべての p4 コ マ ン ド で使用で き ます。
グローバル ・ オプ
ション
説明および使用例
-c clientname
コ マ ン ド に関連する ク ラ イ ア ン ト ・ ワ ー ク スペース を指定 し ます。P4CLIENT
をオーバー ラ イ ド し ます。
p4 -c bruno_ws edit //depot/dev/main/jam/Jambase
-C charset
ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス の文字セ ッ ト を指定 し ま す。 P4CHARSET を
オーバー ラ イ ド し ます。
p4 -C utf8 sync
-d directory
環境変数 PWD の設定を オーバー ラ イ ド し 、 現在のデ ィ レ ク ト リ を指定 し ま
す。
p4 -d ~c:\bruno_ws\dev\main\jam\Jambase Jamfile
-G
すべての出力を整列 さ れた Python デ ィ レ ク ト リ ・ オブジ ェ ク ト と し て フ ォー
マ ッ ト し ます (Python に よ る ス ク リ プ ト 作成用)。
p4 -G info
-H host
P4HOST の設定を オーバー ラ イ ド し 、 ク ラ イ ア ン ト ・ ワ ー ク ス テーシ ョ ンの
ホ ス ト 名を指定 し ます。
p4 -H deneb print //depot/dev/main/jam/Jambase
-I
進捗 イ ン ジ ケー タ (利用可能であ る 場合) を使用 し たい旨を指定 し ます。 こ
のオプシ ョ ンは、 -S お よ び -G と 同時に使用で き ません。
現時点では、 進捗 イ ン ジ ケー タ は 2 つの コ マ ン ド でのみサポー ト さ れてい ま
す。 それ ら は、 p4 -I submit に よ る チ ェ ン ジ リ ス ト のサブ ミ ッ ト と 、 p4
-I sync -q に よ る 「サ イ レ ン ト な」 フ ァ イ ルの同期です。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
37
第 3 章 : P4 コ マ ン ド の発行
グローバル ・ オプ
ション
説明および使用例
-L language
PERFORCE サービ ス か ら のエ ラ ー ・ メ ッ セージに使用す る 言語を指定 し ます。
P4LANGUAGE をオーバー ラ イ ド し ます。 こ のオプシ ョ ン を機能 さ せ る ために
は、 管理者が英語以外の メ ッ セージのサポー ト をデー タ ベース に ロ ー ド し て
お く 必要があ り ます。
p4 -L language info
-p port
P4PORT の設定を無視 し 、 PERFORCE サービ スへの接続に使用 さ れ る プ ロ ト コ
ル、 ホ ス ト 、 ポー ト 番号を指定 し ます。
p4 -p ssl:deneb:1818 clients
-P password
P4PASSWD の設定を オーバー ラ イ ド し 、 パ ス ワー ド を指定 し ます。
通常、 -u username オプシ ョ ン と 組み合わせて使用 し ます。
p4 -u earl -P secretpassword job
-r retries
-Q charset
ネ ッ ト ワ ー ク が タ イ ム ア ウ ト し た場合に コ マ ン ド (特に p4 sync) を再試行
す る 回数を指定 し ます。
コ マ ン ド の入出力に使用す る 文字セ ッ ト を指定 し ます。 P4CHARSET の値を
UTF-16 ま たは UTF-32 に設定 し てい る 場合、p4 コ マ ン ド ラ イ ン ・ ク ラ イ
ア ン ト を使用す る には、P4COMMANDCHARSET を UTF-16 ま たは UTF-32 以
外の値に設定す る 必要があ り ます。
p4 -Q utf32 -C utf8 sync
出力の各行の先頭に、 タ グ を付加 し ます (ス ク リ プ ト 作成用)。
-s
p4 -s info
-u username
P4USER の設定を オーバー ラ イ ド し 、 PERFORCE ユーザ名を指定 し ます。
p4 -u bill user
-x filename
指定 し た フ ァ イ ルか ら 1 行につ き 1 つの引数を読み取 り ます。 引数を標準入
力か ら 読み取 る には、 "-x -" と 指定 し ます。
p4 -x myargs.txt
-z tag
ス ク リ プ ト 作成を 容易にす る た め、 p4 fstat に よ り 生成 さ れ る 形式で レ
ポー ト ・ コ マ ン ド の出力を表示 し ます。
p4 -z tag info
-q
ク ワ イ エ ッ ト ・ モー ド 。 すべての情報伝達 メ ッ セージ を抑止 し 、 警告ま たは
エ ラ ーのみを報告 し ます。
-V
p4 実行プ ロ グ ラ ムのバージ ョ ン を表示 し ます。
特定の コ マ ン ド のオプシ ョ ン を表示す る には、 p4 help コ マ ン ド を発行 し ます。 例を示 し ま
す。
p4 help add
add -- Open a new file to add it to the depot
p4 add [ -c changelist# ] [ -d -f -I -n ] [ -t filetype ] file ...
Open a file for adding to the depot. If the file exists on the
client, it is read to determine if it is text or binary. If it does
not exist, it is assumed to be text. To be added, the file must not
already reside in the depot, or it must be deleted at the current
head revision. Files can be deleted and re-added.
[...]
グ ロ ーバル ・ オプシ ョ ン、 コ マ ン ド 、 コ マ ン ド 固有のオプシ ョ ン についての完全な リ ス ト は、
『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を ご覧 く だ さ い。
38
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 3 章 : P4 コ マ ン ド の発行
コ マ ン ド ラ イ ン で フ ァ イル名を指定する
PERFORCE の日常操作の大部分は、 フ ァ イ ルの管理です。 p4 コ マ ン ド では以下の よ う に フ ァ イ
ル名を指定で き ます。
• ロ ーカル ・ シ ン タ ッ ク ス : ロ ーカル ・ シ ェ ル ま たは OS で指定 さ れ る フ ァ イ ル名。
フ ァ イ ル名は、 絶対パ ス (例 : c:\bruno_ws\dev\main\jam\fileos2.c) ま たは現在の
デ ィ レ ク ト に対す る 相対パ ス (例 : .\jam\fileos2.c) に よ り 指定す る こ と がで き ます。
相対パ ス の コ ン ポーネ ン ト (. ま たは ..) を固定パ ス の コ ン ポーネ ン ト の後に指定す る こ と は
で き ません。 例えば、 mysub/mydir/./here/file.c は mysub/mydir と い う 固定 コ ン
ポーネ ン ト の後に ド ッ ト (.) が指定 さ れてい る ため、 無効です。
• デ ィ ポ ・ シ ン タ ッ ク ス : 使用 さ れ る フ ォーマ ッ ト は //depotname/file_path で、 フ ァ イ
ルのパ ス名をデ ィ ポのルー ト ・ デ ィ レ ク ト リ に相対 し て指定 し ます。 パ ス の コ ン ポーネ ン ト
は、 ス ラ ッ シ ュ で区切 ら れます。 例 : //depot/dev/main/jam/Jambase
• ク ラ イ ア ン ト ・シ ン タ ッ ク ス : 使用 さ れ る フ ォーマ ッ ト は //workspacename/file_path
で、 フ ァ イ ルのパ ス名を ク ラ イ ア ン ト ・ ルー ト ・ デ ィ レ ク ト リ に相対 し て指定 し ます。 パ ス
の コ ン ポーネ ン ト は、 ス ラ ッ シ ュ で区切 ら れ ます。
例 : //ona-agave/dev/main/jam/Jambase
例 : 同 じ フ ァ イ ルを異な る シ ン タ ッ ク ス に よ り 参照す る
ロ ーカル ・ シ ン タ ッ ク ス : p4 delete c:\bruno_ws\dev\main\jam\Jambase
デ ィ ポ ・ シ ン タ ッ ク ス : p4 delete //depot/dev/main/jam/Jambase
ク ラ イ ア ン ト ・ シ ン タ ッ ク ス : p4 delete //bruno_ws/dev/main/jam/Jambase
PERFORCE のワ イル ド カ ー ド
フ ァ イ ルの集合を操作す る コ マ ン ド のために、PERFORCE では 2 種類の ワ イ ル ド カー ド がサポー
ト さ れてい ます。
ワ イル ド
カー ド
説明
*
ス ラ ッ シ ュ を除 く すべての文字に一致 し ます。 単一のデ ィ レ ク ト リ 内のみ照合 し ま
す。 お使いのプ ラ ッ ト フ ォームに よ っ ては大文字 と 小文字を区別 し ます。
...
ス ラ ッ シ ュ を含むすべての文字に一致 し ます。 再帰的に (指定 さ れたデ ィ レ ク ト リ
お よ びその配下のデ ィ レ ク ト リ 内すべて を) 照合 し ます。
PERFORCE ワ イ ル ド カー ド は、 以下の例の よ う に ロ ーカル ・ シ ン タ ッ ク ス、 PERFORCE シ ン タ ッ
ク ス の両方で使用で き ます。
表記
意味
J*
J で始ま る カ レ ン ト ・ デ ィ レ ク ト リ 内のフ ァ イ ル
*/help
現サブデ ィ レ ク ト リ 内の help と い う 名の フ ァ イ ルすべて
./...
カ レ ン ト ・ デ ィ レ ク ト リ と そのサブデ ィ レ ク ト リ に属す る 全フ ァ イ ル
./....c
カ レ ン ト ・ デ ィ レ ク ト リ と そのサブデ ィ レ ク ト リ に属 し 、 .c で終わ る 全
フ ァ イル
/usr/bruno/...
/usr/bruno に属す る 全フ ァ イ ル
//bruno_ws/...
bruno_ws と い う 名前の ワ ー ク スペース内ま たはデ ィ ポ内の全フ ァ イ ル
//depot/...
デ ィ ポ内の全フ ァ イ ル
//...
全デ ィ ポ内の全フ ァ イ ル
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
39
第 3 章 : P4 コ マ ン ド の発行
ワ イ ル ド カー ド * は、 コ マ ン ド が PERFORCE サービ ス に送 ら れ る 前に ロ ーカル OS に よ り 拡張
さ れます。 ロ ーカル OS に よ っ て ワ イ ル ド カー ド * が拡張 さ れない よ う にす る には、 * を引用
符で囲むか、 前に逆ス ラ ッ シ ュ を付け ます。
注 ワ イ ル ド カー ド "..." は p4 add コ マ ン ド では使用で き ません。 ワ イ ル ド
カー ド "..." は PERFORCE サービ ス に よ っ て拡張 さ れますが、 サービ ス では
追加 さ れ る フ ァ イ ル を 判断で き な い た め、 ワ イ ル ド カー ド を 拡張で き ま せ
ん。 ワ イ ル ド カー ド * は、 PERFORCE ではな く OS シ ェ ルに よ り 拡張 さ れ る た
め、 p4 add で使用で き ます。
フ ァ イル名 と 識別子における制限
フ ァ イル名、 パス名、 識別子でのスペースの使用
スペース を含むフ ァ イ ルやデ ィ レ ク ト リ は引用符で囲み、 例えば次の よ う に指定 し ます。
"//depot/dev/main/docs/manuals/recommended configuration.doc"
その他の PERFORCE オブジ ェ ク ト 、 例えばブ ラ ンチ名、 ク ラ イ ア ン ト 名、 ラ ベル名な ど の中に
スペース を指定す る と 、 その スペース は PERFORCE サービ ス に よ っ て自動的にア ン ダース コ ア
に変換 さ れ ます。
長 さ の制限
ブ ラ ンチや ク ラ イ ア ン ト ・ ワ ー ク スペース な ど の PERFORCE オブジ ェ ク ト に付け る 名前は、1024
文字を超え てはな り ません。
予約文字
デフ ォ ル ト では、 以下に示す予約文字を PERFORCE 識別子ま たは PERFORCE に よ り 管理 さ れ る
フ ァ イ ルの名前に使用す る こ と はで き ません。
予約文字
理由
@
日付、 ラ ベル名、 チ ェ ン ジ リ ス ト 番号に使用す る フ ァ イ ル ・ リ ビ ジ ョ ン
指定子
#
フ ァ イ ル ・ リ ビ ジ ョ ン番号
*
ワ イ ル ド カー ド
...
ワ イ ル ド カー ド (再帰的)
%%1 - %%9
ワ イ ル ド カー ド (位置的)
/
パス名 コ ン ポーネ ン ト 分離記号
上記の文字には、 衝突す る 別の用法があ り ます。 その衝突には以下の も のが含ま れ ます。
• UNIX ではパ ス ・ コ ン ポーネ ン ト を / で区切 り ますが、 DOS コ マ ン ド では大抵、 / を コ マ ン
ド ラ イ ン ス イ ッ チ と 解釈 し ます。
• UNIX シ ェ ルではほ と ん ど の場合、 # を コ メ ン ト の始ま り と 解釈 し ます。
• UDOS シ ェ ル、 UNIX シ ェ ルの両方 と も 、 複数の フ ァ イ ル と 照合す る よ う * を自動的に拡張
し 、 DOS コ マ ン ド ラ イ ン では % に よ り 変数を表 し ます。
こ れ ら の文字を フ ァ イ ル名やパ ス名に指定す る には、 以下に示す ASCII 文字表現の 16 進値を
使用 し ます。
40
文字
ASCII 表現
@
%40
#
%23
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 3 章 : P4 コ マ ン ド の発行
文字
ASCII 表現
*
%2A
%
%25
フ ァ イ ルを追加す る 際に字義通 り に フ ァ イ ル名を指定 し 、 後に ASCII 拡張を使用 し てその フ ァ
イ ル名を参照 し ます。 例えば、 [email protected] と い う フ ァ イ ルを追加
す る には、 以下の コ マ ン ド を発行 し ます。
p4 add -f
//depot/dev/main/docs/manuals/[email protected]
チ ェ ン ジ リ ス ト をサブ ミ ッ ト す る と 、 文字は自動的に拡張 さ れ、 変更サブ ミ ッ ト ・ フ ォーム に
次の よ う に表示 さ れます。
//depot/dev/main/docs/manuals/recommended%40configuration.doc
フ ァ イ ル追加を含むチ ェ ン ジ リ ス ト をサブ ミ ッ ト し た後、 ASCII 拡張を使用 し て、 フ ァ イ ルを
ワ ー ク スペース に同期 さ せ る か、 ワー ク スペース内で編集す る 必要があ り ます。 例えば次の よ
う に し ます。
p4 sync //depot/dev/main/docs/manuals/recommended%40configuration.doc
特殊文字の @、 #、 *、 ま たは % を エ ス ケープす る と い う 必要条件は、 ク ラ イ ア ン ト ・ ワ ー ク
スペース仕様の Root: フ ィ ール ド ま たは AltRoots: フ ィ ール ド でそれ ら の文字を使用す る
場合に も 適用 さ れ ます。 それぞれ、 %40、 %23、 %2A、 %25 を用いてエ ス ケープ し て く だ さ い。
拡張 (非 ASCII) 文字を含む フ ァ イル名
フ ァ イ ル名お よ び PERFORCE 識別子には非 ASCII 文字を使用で き ますが、 こ れ ら の文字を コ マ
ン ド ラ イ ン か ら 入力す る に は、 プ ラ ッ ト ホ ー ム 特 有 の 解決法 が 必要 な 場合 が あ り ま す。
PERFORCE を Unicode モー ド で使用す る 場合、すべてのユーザが P4CHARSET を適切に設定 し て
いなければな り ません。 P4CHARSET の設定に関 し て詳 し く は、 『PERFORCE コ マ ン ド ・ リ フ ァ
レ ン ス』 お よ び 『PERFORCE 国際語モー ド に関す る注意事項』 を ご覧 く だ さ い。
国際語化環境では、 共通 コ ー ド ・ ページ ま たは ロ ケール設定を使用 し て、 組織内のすべてのマ
シ ン間ですべての フ ァ イ ル名が正 し く 表示 さ れ る よ う に し て く だ さ い。 コ ー ド ・ ページ ま たは
ロ ケールを設定す る には、 次の よ う に し ます。
• Windows の場合は、 [ コ ン ト ロ ールパネル ] の [ 地域設定 ] アプ レ ッ ト を使用 し て く だ さ い
• UNIX の場合は、 環境変数 LOCALE を設定 し て く だ さ い。
フ ァ イル ・ リ ビ ジ ョ ン を指定する
フ ァ イ ルをデ ィ ポにサブ ミ ッ ト す る たびに、 リ ビ ジ ョ ン番号は 1 つずつ増加 し ます。 最新 リ ビ
ジ ョ ン よ り 前の リ ビ ジ ョ ン を指定す る には、リ ビ ジ ョ ン指定子 # を使用 し て リ ビ ジ ョ ン番号を
指定す る か、 @ を使用 し て作業中の フ ァ イ ルのバージ ョ ン に対応す る 日付、 チ ェ ン ジ リ ス ト 、
ク ラ イ ア ン ト ・ ワ ー ク スペース ま たは ラ ベルを指定 し ます。 リ ビ ジ ョ ン仕様を使用 し て、 コ マ
ン ド の有効範囲を特定の フ ァ イ ル ・ リ ビ ジ ョ ンに制限す る こ と がで き ます。
警告 OS シ ェ ルの中には、 PERFORCE リ ビ ジ ョ ン ・ キ ャ ラ ク タ # が語の最初にあ る 場
合、 # を コ メ ン ト ・ キ ャ ラ ク タ と し て処理す る も のがあ り ます。 ご使用のシ ェ
ルが こ れに該当す る 場合は、 p4 コ マ ン ド で使用す る 際に # を エ ス ケープ し て
く だ さ い。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
41
第 3 章 : P4 コ マ ン ド の発行
以下の表に、 フ ァ イ ル ・ リ ビ ジ ョ ン の種々の指定方法を示 し ます。
対象 リ ビ ジ ョ ン
構文 と 例
リ ビ ジ ョ ン番号
file#n
例:
p4 sync //depot/dev/main/jam/Jambase#3
フ ァ イ ル Jambase の リ ビ ジ ョ ン 3 を参照
特定 の チ ェ ン ジ リ ス ト の file@changelist_number
時点 で サ ブ ミ ッ ト し た リ 例 :
ビジ ョ ン
p4 sync //depot/dev/main/jam/Jambase@126
チ ェ ン ジ リ ス ト 126 がサブ ミ ッ ト さ れた と き のJambaseのバージ ョ
ン を参照。Jambase への変更がチ ェ ン ジ リ ス ト 126 でサブ ミ ッ ト さ れ
なか っ た場合 も 有効。
p4 sync //depot/...@126
チ ェ ン ジ リ ス ト 126 におけ る デ ィ ポ全体の状態を参照 (番号
付チ ェ ン ジ リ ス ト の解説は 52 ページの 「チ ェ ン ジ リ ス ト の管
理」 に記載)。
特定 の ラ ベ ル に お け る リ
ビジ ョ ン
file@labelname
例:
p4 sync //depot/dev/main/jam/Jambase@beta
beta と い う ラ ベルが付け ら れた Jambase の リ ビ ジ ョ ン。 ラ ベルの
詳細情報は、 87 ページの 「 ラ ベル」 に記載。
特定の ク ラ イ ア ン ト ・ ワ ー file@clientname
ク ス ペ ー ス に 最後 に 同 期 例 :
さ れた リ ビ ジ ョ ン
p4 sync //depot/dev/main/jam/Jambase@bruno_ws
ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス bruno_ws に最後に同期 さ れ た
Jambase の リ ビ ジ ョ ン。
フ ァ イ ルを削除
file#none
例:
p4 sync //depot/dev/main/jam/Jambase#none
Jambase を ク ラ イ ア ン ト ・ ワー ク スペース か ら 削除。
フ ァ イ ル の 最新 リ ビ ジ ョ
ン
file#head
例:
p4 sync //depot/dev/main/jam/Jambase#head
p4 sync //depot/dev/main/jam/Jambase と 同 じ 。 ( リ ビ ジ ョ
ン指定子を省略す る と 、 head リ ビ ジ ョ ンが同期 さ れます。)
ワ ー ク ス ペ ー ス に 最後 に file#have
同期 さ れた リ ビ ジ ョ ン
例:
p4 files //depot/dev/main/jam/Jambase#have
特定 の 日 に お け る デ ィ ポ file@date
内の フ ァ イ ル の最新 リ ビ 例 :
ジョン
p4 sync //depot/dev/main/jam/Jambase@2011/05/18
2011 年 5 月 18 日午前 0 時現在の Jambase の最新 リ ビ ジ ョ ン。
42
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 3 章 : P4 コ マ ン ド の発行
対象 リ ビ ジ ョ ン
構文 と 例
特定 の 日 の 特定時 刻 に お file@"date[:time]"
け る デ ィ ポ内の フ ァ イ ル 例 :
の最新 リ ビ ジ ョ ン
p4 sync //depot/dev/main/jam/Jambase@”2011/05/18”
日 付 を YYYY/MM/DD の 形式 で 指定 し 、 時刻 を 24 時間表 記 で
HH:MM:SS の形式で指定 し ます。時刻のデフ ォ ル ト は 00:00:00 です。
日付 と 時刻を単一の スペース ま たは コ ロ ン で区切 り ます (スペース
で区切 る 場合、 日付 と 時刻の指定全体を二重引用符で囲む必要があ
り ます)。
例 : リ ビ ジ ョ ン指定子を使っ て フ ァ イ ルを取得す る
ブルー ノ はチ ェ ン ジ リ ス ト 番号 30 に存在 し ていたすべての リ ビ ジ ョ ン を取得 し たいの
で、 次の よ う に入力 し ます。
p4 sync //depot/dev/main/jam/Jambase@30
別のユーザが自分の ワー ク スペース に、 ブルー ノ が同期 さ せた も の と 同 じ フ ァ イ ル ・ リ ビ
ジ ョ ン を同期 さ せ る こ と がで き ます。 それには、 ブルー ノ の ワー ク スペース を次の よ う に
指定 し ます。
p4 sync @bruno_ws
例 : ク ラ イ ア ン ト ・ ワー ク スペース か ら すべてのフ ァ イ ルを削除す る
p4 sync ...#none
フ ァ イ ルは ワー ク スペース か ら 削除 さ れますが、 デ ィ ポか ら は削除 さ れません。
日付 と 時刻の表記
日付 と 時刻の表記は、 PERFORCE サービ ス を ホ ス テ ィ ン グす る マシ ン の タ イ ム ゾーン か ら 取得
さ れ ま す。 日付、 時刻、 グ リ ニ ッ ジ標準時 (GMT) か ら のオ フ セ ッ ト 、 お よ び現在の タ イ ム
ゾーン を表示す る には、 p4 info コ マ ン ド を実行 し ます。 バージ ョ ン化サービ ス は、 時刻を
グ リ ニ ッ ジ標準時の 1970 年 1 月 1 日 00 時 00 分 00 秒以降の秒数 と し て あ ら わ し ます。 し た
が っ て、 タ イ ム ゾーン を ま たが っ て移動す る と 、 サービ ス に保存 さ れた時刻は新 し い タ イ ム
ゾーン で正 し く 報告 さ れ ます。
リ ビ ジ ョ ン範囲
PERFORCE コ マ ン ド には、 フ ァ イ ル ・ リ ビ ジ ョ ン の範囲を限定 し て実行で き る も のがあ り ます。
リ ビ ジ ョ ン範囲を指定す る には、 開始 リ ビ ジ ョ ン と 終了 リ ビ ジ ョ ン を カ ン マで区切 り 、 #3、 4
の よ う に指定 し ます。
リ ビ ジ ョ ン範囲の指定が可能な コ マ ン ド を以下に示 し ます。
• p4 changes
• p4 files
• p4 integrate
• p4 jobs
• p4 print
• p4 sync
上記の コ マ ン ド において、
• 単一の リ ビ ジ ョ ン を指定す る 場合、 コ マ ン ド の実行範囲は #1 か ら 指定 し た リ ビ ジ ョ ン ま で
にな り ます (ただ し 、 p4 sync、 p4 print、 p4 files を除 き ます。 それ ら の コ マ ン ド で
は範囲内の最新の リ ビ ジ ョ ン が処理 さ れ ます)。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
43
第 3 章 : P4 コ マ ン ド の発行
• リ ビ ジ ョ ン範囲を完全に省略す る と 、 コ マ ン ド はすべての フ ァ イ ル ・ リ ビ ジ ョ ンに作用 し ま
す。
例 : リ ビ ジ ョ ン範囲を指定 し てチ ェ ン ジ を一覧表示す る
リ リ ース ・ マネージ ャ は、 2010 年 7 月の jam プ ロ ジ ェ ク ト に対す るすべてのチ ェ ン ジの
一覧表を見 る必要があ り ます。 マネージ ャ は次の よ う に入力 し ます。
p4 changes //depot/dev/main/jam/...@2010/7/1,2010/8/1
生成 さ れ る チ ェ ン ジの リ ス ト は次の と お り です。
Change 673 on 2010/07/31 by bruno@bruno_ws ’Final build for QA’
Change 633 on 2010/07/1 by bruno@bruno_ws ’First build w/bug fix’
Change 632 on 2010/07/1 by bruno@bruno_ws ’Started work’
レポー ト ・ コ マ ン ド
有用な レ ポー ト ・ コ マ ン ド を以下の表に示 し ます。
表示内容
使用する コ マ ン ド
すべての p4 コ マ ン ド を、 短い説明付き で リ ス ト し ます。
p4 help commands
与え ら れた コ マ ン ド (command) について の詳細なヘルプ を示 p4 help command
し ます。
すべての PERFORCE コ マ ン ド に共通の コ マ ン ド ラ イ ン ・ オプシ ョ ン を記
述 し ます。
p4 help usage
PERFORCE ビ ュ ー構文について説明 し ます。
p4 help views
p4 help コ マ ン ド に与え ら れ る すべての引数について記述 し ま p4 help
す。
環境に対 し て構成 さ れた PERFORCE の設定
p4 info
ク ラ イ ア ン ト ・ ワ ー ク スペース内のフ ァ イ ル ・ リ ビ ジ ョ ン
p4 have
p4 sync の実行結果をプ レ ビ ュ ー し ます (転送 さ れ る フ ァ イ ル p4 sync -n
を確認す る ため)。
p4 delete の実行結果をプ レ ビ ュ ー し ます (削除目的でマーキ p4 delete -n files
ン グ さ れ る フ ァ イ ルを確認す る ため)。
PERFORCE フ ォ ームの使用
PERFORCE コ マ ン ド の う ち、 p4 client や p4 submit な ど は、 テ キ ス ト エデ ィ タ を使用 し て
フ ォーム を表示 し 、 ユーザがその フ ォ ーム か ら コ マ ン ド を完了 さ せ る のに必要な情報 (例えば
サブ ミ ッ ト す る チ ェ ン ジの説明な ど) を入力 し ます。 ユーザが フ ォ ーム を変更 し 、 保存 し てエ
デ ィ タ を終了す る と 、 PERFORCE はフ ォ ーム を解析 し 、 フ ォ ーム内の情報を使用 し て コ マ ン ド
を完了 さ せます。 (PERFORCE フ ォ ーム の表示お よ び編集に使用 さ れ る テ キ ス ト エデ ィ タ を指定
す る には、 P4EDITOR を設定 し ます。)
PERFORCE フ ォームに情報を入力す る 際は、 次の規則に従っ て く だ さ い。
• フ ィ ール ド 名 ([View:] な ど) は左づめ ( イ ンデン ト な し ) で、 末尾に コ ロ ン を付け ます。
• フ ィ ール ド 値 (入力値) はフ ィ ール ド 名 と 同 じ 行に記述す る か、 フ ィ ール ド 名の下の行に タ
ブで イ ンデン ト を付けて記述 し ます。
い く つかの フ ィ ール ド 名、例えば p4 client フ ォ ーム の [CLIENT:] ( ク ラ イ ア ン ト 名:) フ ィ ー
ル ド な ど は、 単一の値にな り ます。 他の フ ィ ール ド 、 例えば [Description:] ( コ メ ン ト : )
な どは、 テ キ ス ト ・ ブ ロ ッ ク の形式にな り ます。 さ ら に他の フ ィ ール ド 、 例えば [View:] な ど
は、 1 行に複数の値を取 り ます。
44
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 3 章 : P4 コ マ ン ド の発行
ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス ・ フ ォ ーム の [Client:] フ ィ ール ド な ど の値は変更で き ませ
ん。 他の フ ィ ール ド 、 例えば p4 submit の [Description:] な どは、 値を変更 し なければ
な り ません。 変更す る 必要のあ る フ ィ ール ド を変更 し ない場合、 ま たは変更不可の値を変更 し
よ う と す る と 、 PERFORCE に よ り エ ラ ーが表示 さ れ ます。 変更可能な フ ィ ール ド に関 し て詳 し
く は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を参照す る か、 p4 help コ マ ン ド を使用 し て く
だ さ い。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
45
第 3 章 : P4 コ マ ン ド の発行
46
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
フ ァ イル と チ ェ ン ジ リ ス ト の管理
第4章
こ の章では、 フ ァ イ ル管理の方法お よ びチーム開発環境での作業方法を説明 し ます。 チーム開
発環境では、 同一の フ ァ イ ルを複数のユーザが操作す る ため、 各ユーザに よ る 変更の調整が必
要な場合があ り ます。
フ ァ イルの管理
デ ィ ポ (フ ァ イ ル格納場所) 内の フ ァ イ ルを変更す る には、 フ ァ イ ルをチ ェ ン ジ リ ス ト で作業
状態に し 、 変更についての コ メ ン ト を入力 し てチ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます。 PERFORCE
はチ ェ ン ジ リ ス ト に番号を割 り 当て、 ユーザの フ ァ イ ルの リ ビ ジ ョ ン履歴を保存 し ます。 こ の
方法に よ っ て、 関連す る 変更を グループ化 し た り 、 だれがいつ、 何のために変更 し たか を調べ
る こ と がで き ます。 フ ァ イ ルの操作の基本的な手順を以下に示 し ます。
タスク
説明
同期 (フ ァ イ ルをデ ィ ポか デ ィ ポか ら 取得 し たい フ ァ イ ル と デ ィ レ ク ト リ を指定 し て、 p4 sync コ
ら 取得す る )
マ ン ド を発行 し ます。 ク ラ イ ア ン ト ・ ビ ュ ーにマ ッ ピ ン グ さ れてい る フ ァ
イ ルのみ、 同期が可能です。
フ ァ イ ル を デ ィ ポ に 追加 1.
する
フ ァ イ ルを ワ ー ク スペース で作成 し ます。
2.
フ ァ イ ルをチ ェ ン ジ リ ス ト で追加目的の作業状態に し ます(p4
add)。
3.
チ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます (p4 submit)。
フ ァ イ ル を 編集 し て 変更 1.
をサブ ミ ッ ト する
必要に応 じ て、 目的の フ ァ イ ル ・ リ ビ ジ ョ ン を ワー ク スペー
ス に同期 し ます (p4 sync)。
2.
フ ァ イ ルをチ ェ ン ジ リ ス ト で編集目的の作業状態に し ます(p4
edit)。
3.
フ ァ イ ルを変更 し ます。
4.
チ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます (p4 submit) 。 変更を破
棄す る には、 p4 revert コ マ ン ド を発行 し ます。
フ ァ イ ル を デ ィ ポ か ら 削 1.
除す る
フ ァ イ ルをチ ェ ン ジ リ ス ト で削除目的の作業状態に し ます(p4
delete)。 フ ァ イ ルが ワ ー ク スペース か ら 削除 さ れます。
2.
チ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます (p4 submit)。 フ ァ イ ル
はデ ィ ポか ら 削除 さ れます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
47
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
タスク
説明
変更を破棄す る
フ ァ イ ル ま たは フ ァ イ ルが作業状態に な っ てい る チ ェ ン ジ リ ス ト を キ ャ
ン セル し ます。 キ ャ ン セル操作は、 作業状態の フ ァ イ ルに次の よ う に影響
し ます。
追加 : 影響な し -フ ァ イ ルは ワ ー ク スペース に残 り ます。
編集 : 作業状態に し た リ ビ ジ ョ ン が再度デ ィ ポ か ら 同期 さ れ、 ワ ー ク ス
ペース にあ る フ ァ イ ルに加え た変更は上書き さ れます。
削除 : フ ァ イ ルは再度ワ ー ク スペース か ら 同期 さ れます。
デ ィ ポに対す る フ ァ イ ルの追加、 削除、 更新は、 その フ ァ イ ルが作業状態に さ れてい る 作業中
チ ェ ン ジ リ ス ト を正常にサブ ミ ッ ト し た場合にのみ行われ ます。 1 つのチ ェ ン ジ リ ス ト には追
加目的、 編集目的、 削除目的の作業状態の フ ァ イ ルを混在 さ せ る こ と がで き ます。
コ マ ン ド ラ イ ン上での フ ァ イ ルの指定に使用す る 構文について詳 し く は、39 ページの 「 コ マ ン
ド ラ イ ン で フ ァ イ ル名を指定す る 」 を参照 し て く だ さ い。 以降のセ ク シ ョ ン では、 フ ァ イ ルの
操作について詳 し く 説明 し ます。
フ ァ イルの同期 (取得)
フ ァ イ ルをデ ィ ポか ら ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス に取得す る には、 p4 sync コ マ ン ド を
発行 し ます。 自分の ク ラ イ ア ン ト ・ ビ ュ ーに存在 し ない フ ァ イ ルを同期 さ せ る こ と はで き ませ
ん。 ク ラ イ ア ン ト ・ ビ ュ ーの指定について詳 し く は、 22 ページの 「 ワー ク スペース ・ ビ ュ ーの
限定」 を ご覧 く だ さ い。
例 : デ ィ ポか ら ク ラ イ ア ン ト ・ ワー ク スペースへのフ ァ イ ルの コ ピー
以下の コ マ ン ド に よ り 、 ク ラ イ ア ン ト ・ ビ ュ ーにあ るすべてのフ ァ イ ルの最新 リ ビ ジ ョ ン
がデ ィ ポか ら ワー ク スペース に取得 さ れます。 フ ァ イ ルが同期 さ れ る と 、 コ マ ン ド 出力に
リ ス ト 表示 さ れます。
C:\bruno_ws>p4 sync
//depot/dev/main/bin/bin.linux24x86/readme.txt#1 - added as
c:\bruno_ws\dev\main\bin\bin.linux24x86\readme.txt
//depot/dev/main/bin/bin.ntx86/glut32.dll#1 - added as
c:\bruno_ws\dev\main\bin\bin.ntx86\glut32.dll
//depot/dev/main/bin/bin.ntx86/jamgraph.exe#2 - added as
c:\bruno_ws\dev\main\bin\bin.ntx86\jamgraph.exe
[...]
p4 sync コ マ ン ド に よ り 、 ク ラ イ ア ン ト ・ ワ ー ク ス ペース 内の フ ァ イ ルが追加、 更新、 ま た
は削除 さ れ、 ワー ク スペース の内容がデ ィ ポ と 同期 さ れます。 あ る フ ァ イ ルがデ ィ ポ内の特定
のサブデ ィ レ ク ト リ に存在 し 、 そのデ ィ レ ク ト リ が ク ラ イ ア ン ト ・ ワ ー ク スペース に存在 し な
い場合、 デ ィ レ ク ト リ はフ ァ イ ルを同期す る と き に ク ラ イ ア ン ト ・ ワ ー ク スペース に作成 さ れ
ます。 フ ァ イ ルがデ ィ ポか ら 削除 さ れてい る 場合、 p4 sync コ マ ン ド 実行時に ク ラ イ ア ン ト ・
ワ ー ク スペース か ら も 削除 さ れ ます。
デ ィ ポ内の フ ァ イ ルの最新 リ ビ ジ ョ ン よ り 前の リ ビ ジ ョ ン を同期 さ せ る には、 リ ビ ジ ョ ン指定
子を使用 し ます。 例えば、 複数 リ ビ ジ ョ ン のあ る Jamfile の 1 番目の リ ビ ジ ョ ン と 同期 さ せ
る には、 次の コ マ ン ド を発行 し ます。
sync //depot/dev/main/jam/Jamfile#1
よ り 詳 し く は、 41 ページの 「フ ァ イ ル ・ リ ビ ジ ョ ン を指定す る 」 を ご覧 く だ さ い。
48
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
フ ァ イ ルの集合ま たはデ ィ レ ク ト リ 全体を同期 さ せ る には、 ワ イ ル ド カー ド を使用 し ます。 例
えば、 「jam」 フ ォ ルダ と その配下にあ る すべての フ ァ イ ルを同期 さ せ る には、 次の コ マ ン ド を
発行 し ます。
p4 sync //depot/dev/main/jam/...
よ り 詳 し く は、 39 ページの 「Perforce の ワ イ ル ド カー ド 」 を ご覧 く だ さ い。
PERFORCE サービ ス では、 ユーザが同期さ せた リ ビ ジ ョ ン を 記録し て いま す。 効率化を 図る
た め、 PERFORCE は既に同期済みのフ ァ イ ル・ リ ビ ジ ョ ン を 再度同期し ま せん。 手動で( お
そ ら く 不用意に) 削除し た フ ァ イ ルを 再度同期する には、 p4 sync の発行時に -f オプシ ョ
ン を 指定し て く ださ い。
フ ァ イルの追加
フ ァ イ ルをデ ィ ポに追加す る には、 ワー ク スペース で フ ァ イ ルを作成 し 、 p4 add コ マ ン ド を
発行 し ます。 p4 add コ マ ン ド に よ り 、 フ ァ イ ルはデフ ォ ル ト 作業中チ ェ ン ジ リ ス ト で追加目
的の作業状態に さ れ ま す。 デ フ ォ ル ト 作業中チ ェ ン ジ リ ス ト のサブ ミ ッ ト が成功 し た と き 、
フ ァ イ ルが追加 さ れ ます。 複数の フ ァ イ ルを追加目的の作業状態にす る には、 単一の p4 add
コ マ ン ド で ワ イ ル ド カー ド を使用 し ま す。 フ ァ イ ル を再帰的に追加す る ために PERFORCE の
「...」 ワ イ ル ド カー ド を使用す る こ と はで き ません。
プ ラ ッ ト フ ォ ーム固有の再帰的な フ ァ イ ル追加 (サブデ ィ レ ク ト リ 内の フ ァ イ ル追加) に関 し
て詳 し く は、 PERFORCE knowledge base の "Adding a Directory Tree" を参照 し て く だ さ い。
http://kb.perforce.com/article/12
例 : フ ァ イ ルをチ ェ ン ジ リ ス ト に追加す る
ブルー ノ はデ ィ ポに追加す る 必要のあ る 2、 3 のテ キ ス ト ・ フ ァ イ ルを作成 し ま し た。 す
べてのテ キ ス ト ・ フ ァ イ ルを一度に追加す る ために、 ブルー ノ は p4 add コ マ ン ド の発
行時に 「*」 ワ イ ル ド カー ド を使い ます。
C:\bruno_ws\dev\main\docs\manuals>p4 add *.txt
//depot/dev/main/docs/manuals/installnotes.txt#1 - opened for add
//depot/dev/main/docs/manuals/requirements.txt#1 - opened for add
こ れで、 ブルー ノ がデ ィ ポに追加 し たいフ ァ イ ルが彼のデフ ォ ル ト ・ チ ェ ン ジ リ ス ト 内で
作業状態にな り ま し た。 チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れ る と き 、 フ ァ イ ルはデ ィ ポに格
納 さ れます。
例 : チ ェ ン ジ リ ス ト をデ ィ ポにサブ ミ ッ ト す る
ブルー ノ はフ ァ イ ルをデ ィ ポに追加す る準備がで き ま し た。彼が p4 submit と 入力す る
と 、 標準のテキ ス ト ・ エデ ィ タ に次の よ う な フ ォームが表示 さ れます。
Change: new
Client: bruno_ws
User:
bruno
Status: new
Description:
<enter description here>
Type:
public
Files:
//depot/dev/main/docs/manuals/installnotes.txt
//depot/dev/main/docs/manuals/requirements.txt
# add
# add
ブルー ノ は [Description:] フ ィ ール ド の内容を変更 し 、 自分が行っ た フ ァ イ ル更新の
説明を記述 し ます。 入力後、 フ ォーム を保存 し てエデ ィ タ を終了す る と 、 新 し い フ ァ イ ル
がデ ィ ポに追加 さ れます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
49
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
[Description:] フ ィ ール ド には コ メ ン ト を入力 し なければな り ません。 [Files:] フ ィ ール
ド か ら は行を削除 し て も 構い ま せん。 こ の リ ス ト か ら 削除 さ れた フ ァ イ ルは、 次のデ フ ォ ル
ト ・ チ ェ ン ジ リ ス ト に移動 さ れ、 次回デフ ォ ル ト ・ チ ェ ン ジ リ ス ト を サブ ミ ッ ト し た と き に リ
ス ト 表示 さ れ ます。
デ ィ ポに存在 し ないデ ィ レ ク ト リ に フ ァ イ ルを追加す る と 、 チ ェ ン ジ リ ス ト のサブ ミ ッ ト が成
功 し た と き にデ ィ ポのデ ィ レ ク ト リ が作成 さ れます。
Type: フ ィ ール ド を public か ら restricted に変更す る こ と に よ り 、チ ェ ン ジ リ ス ト の可視
性が制限で き ます。 一般に、 チ ェ ン ジ リ ス ト が restricted であ る 場合、 チ ェ ン ジ リ ス ト 内
の 1 つ以上の フ ァ イ ルに対 し て list 権限を持つユーザにのみ、 チ ェ ン ジ リ ス ト の説明が可視
と な り ます。
追加時に フ ァ イルのグループ を無視する
開発プ ロ セ ス では、デ ィ ポにサブ ミ ッ ト すべ き でない無関係な コ ン テ ン ツ が作成 さ れ る こ と が
あ り ます。 開発中に コ ンパ イ ラ に よ っ てオブジ ェ ク ト ・ フ ァ イ ルや実行可能モジ ュ ールが生成
さ れ、 テ キ ス ト ・ エデ ィ タ や ワー ド ・ プ ロ セ ッ サに よ っ てバ ッ ク ア ッ プ ・ フ ァ イ ルが生成 さ れ、
さ ら にユーザ自身が習慣 と し て作業 メ モ を保存す る こ と も あ る で し ょ う 。
フ ァ イ ル (のグループ) を その追加時に無視す る には、 無視 し たい フ ァ イ ルの仕様を リ ス ト に
し た フ ァ イ ルを作成 し 、 P4IGNORE 環境変数が こ の フ ァ イ ルを指す よ う に設定 し ます。
フ ァ イ ルを追加す る 際、 追加対象フ ァ イ ルの完全な ロ ーカル ・ パ スお よ びその親デ ィ レ ク ト リ
が、 P4IGNORE フ ァ イ ル と 照合 さ れます。 P4IGNORE フ ァ イ ルが存在す る 場合、 その中のルー
ルが リ ス ト に追加 さ れ、 追加対象フ ァ イ ルに最 も 近い P4IGNORE ルールが優先的に適用 さ れ
ます。
P4IGNORE フ ァ イ ルの構文は、 PERFORCE の構文 と 同 じ ではあ り ません。 む し ろ、 他のバージ ョ
ン化シ ス テ ム で使用 さ れ る も のに似てい ます。 フ ァ イ ルは ロ ーカル ・ シ ン タ ッ ク ス で指定 さ れ
ます。 行頭の # 文字は コ メ ン ト を示 し 、 行頭の ! 文字はその フ ァ イ ル指定を除外 し 、 ワ イ ル ド
カー ド * はサブ文字に一致 し ます。 PERFORCE ワ イ ル ド カー ド の ... は使用で き ません。
文字
P4IGNORE フ ァ イルでの意味
*
ス ラ ッ シ ュ 以外のすべての文字 と 一致 し ます。 単一デ ィ レ ク ト リ 内にのみ一致 し
ます。 大文字 と 小文字の区別はお使いの ク ラ イ ア ン ト ・ プ ラ ッ ト フ ォームに依存
し ます。
!
フ ァ イ ル指定を対象か ら 除外 し ます。
#
コ メ ン ト 文字 : こ の行は無視 さ れます。
例 : 追加時に フ ァ イ ルのグループを無視す る
ブルー ノ は自分の コー ド をデ ィ ポにサブ ミ ッ ト す る前に単体テ ス ト を行い ますが、ワー ク
スペース を照合す る際にオブジ ェ ク ト ・ フ ァ イ ルや生成済みの実行可能モジ ュ ールが誤っ
て追加 さ れない よ う に し たい と 考えてい ます。
彼は まず、 P4IGNORE が正 し いフ ァ イ ルを示す よ う に設定 し ます。
export P4IGNORE=.p4ignore
50
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
次に、 次の よ う な フ ァ イ ルを作成 し 、 自分の ワー ク スペース のルー ト に .p4ignore と し
て保存 し ます。
# Ignore .p4ignore files
.p4ignore
# Ignore object files, shared libraries, executables
*.dll
*.so
*.exe
*.o
# Ignore all text files except readme file
*.txt
!readme.txt
次回 (p4 add *.* な ど の) コ マ ン ド を実行す る 際に、 そのルールが ワー ク スペース全
体に適用 さ れます。
P4IGNORE フ ァ イ ルを オーバー ラ イ ド (ま たは無視) す る には、 p4 add、 p4 reconcile、
p4 status の各 コ マ ン ド に -l オプシ ョ ン を付け ます。
フ ァ イルの変更
フ ァ イ ルを編集目的で作業状態にす る には、 p4 edit コ マ ン ド を発行 し ます。 フ ァ イ ルを編
集目的の作業状態にす る と 、 PERFORCE はユーザの ワ ー ク ス ペー ス の フ ァ イ ルに対 し 書 き 込み
許可を与え、 その フ ァ イ ルをチ ェ ン ジ リ ス ト に追加 し ます。 フ ァ イ ルがデ ィ ポには存在 し て も
ユーザの ワー ク スペース には存在 し ない場合、編集目的の作業状態にす る 前にその フ ァ イ ルを
同期 さ せ る 必要があ り ます。 ま た、 フ ァ イ ルを編集す る 場合、 編集目的の作業状態に し なけれ
ばな り ません。
例 : フ ァ イ ルを編集目的で作業状態にす る
ブルー ノ は command.c に変更を加えたいので、 その フ ァ イ ルを同期 さ せ、 フ ァ イ ルを編
集目的で作業状態に し ます。
p4 sync //depot/dev/command.c
//depot/dev/command.c#8 - added as c:\bruno_ws\dev\command.c
p4 edit //depot/dev/command.c
//depot/dev/command.c#8 - opened for edit
そ し て、 ブルー ノ は任意のテ キ ス ト ・ エデ ィ タ で フ ァ イ ルを編集 し ます。 編集後、 彼は上
記の よ う に p4 submit に よ り フ ァ イ ルをデ ィ ポにサブ ミ ッ ト し ます。
変更の破棄 (元に戻す)
作業状態に し た フ ァ イ ル を チ ェ ン ジ リ ス ト か ら 削除 し て、 それ ま で行っ た変更を破棄す る に
は、 p4 revert コ マ ン ド を発行 し ま す。 フ ァ イ ル を元に戻す と 、 PERFORCE サーバは最後に
ワ ー ク スペース に同期 さ れたバージ ョ ン を リ ス ト ア し ます。追加目的で作業状態に し た フ ァ イ
ルを元に戻す場合、 フ ァ イ ルはチ ェ ン ジ リ ス ト か ら は削除 さ れ ますが ワ ー ク スペース か ら は削
除 さ れ ません。
例 : フ ァ イ ルを元に戻す
ブルー ノ は結局、 自分のテキ ス ト ・ フ ァ イ ルを追加 し ない こ と に し ま し た。
p4 revert *.txt
//depot/dev/main/docs/manuals/installnotes.txt#none - was add,
abandoned
//depot/dev/main/docs/manuals/requirements.txt#none - was add,
abandoned
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
51
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
実際には フ ァ イ ルを元に戻 さ ずにキ ャ ン セル操作の結果を プ レ ビ ュ ーす る には、 p4 revert
コ マ ン ド の発行時に -n オプシ ョ ン を指定 し ます。
フ ァ イルの削除
フ ァ イ ルをデ ィ ポか ら 削除す る には、 p4 delete コ マ ン ド を発行 し て削除対象フ ァ イ ルを作
業状態に し 、 それ ら が作業状態に さ れてい る チ ェ ン ジ リ ス ト をサブ ミ ッ ト し ます。 フ ァ イ ルを
デ ィ ポか ら 削除 し て も 以前の リ ビ ジ ョ ンは存在 し た ま ま で、 「削除済み」 と マー ク さ れた新 し
い最新 リ ビ ジ ョ ン が追加 さ れ ます。 し たが っ て フ ァ イ ルの古い リ ビ ジ ョ ン を同期 さ せ る こ と は
依然 と し て可能です。
p4 delete コ マ ン ド を発行す る と 、 フ ァ イ ルは ワー ク スペース か ら は削除 さ れ ますがデ ィ ポ
か ら は削除 さ れ ません。 削除目的で作業状態に さ れた フ ァ イ ルを復元す る と 、 それ ら は ワー ク
スペース に復元 さ れ ます。 フ ァ イ ルが作業状態に さ れたチ ェ ン ジ リ ス ト のサブ ミ ッ ト が成功す
る と 、 フ ァ イ ルはデ ィ ポか ら 削除 さ れます。
例 : フ ァ イ ルをデ ィ ポか ら 削除す る
ブルー ノ は次の よ う に し て、 vendor.doc をデ ィ ポか ら 削除 し ます。
p4 delete //depot/dev/main/docs/manuals/vendor.doc
//depot/dev/main/docs/manuals/vendor.doc#1 - opened for delete
フ ァ イ ルはた だち にク ラ イ ア ン ト ・ ワ ーク ス ペース から 削除さ れま すが、 ブルーノ が
p4 submit コ マ ン ド を発行す る ま でデ ィ ポか ら は削除 さ れません。
チ ェ ン ジ リ ス ト の管理
デ ィ ポ内の フ ァ イ ル を 変更す る には、 それ ら の フ ァ イ ル を チ ェ ン ジ リ ス ト で作業状態に し 、
フ ァ イ ルを変更 し てか ら チ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます。チ ェ ン ジ リ ス ト には、フ ァ イ ル、
その リ ビ ジ ョ ン番号、 お よ びフ ァ イ ルに対 し て行われ る 操作の リ ス ト が含ま れてい ます。 サブ
ミ ッ ト さ れていないチ ェ ン ジ リ ス ト は、 作業中チ ェ ン ジ リ ス ト と 呼ばれ ます。
チ ェ ン ジ リ ス ト のサブ ミ ッ ト は、すべて行 う か全 く 行わないかの操作にな り ます。つま り 、チ ェ
ン ジ リ ス ト 内のすべての フ ァ イ ルがデ ィ ポで更新 さ れ る か、 ま たは、 エ ラ ーが発生 し た場合に
はど の フ ァ イ ル も 一切更新 さ れ ません。 こ の方法に よ り 、 複数の フ ァ イ ルに影響す る コ ー ド 変
更が同時に行われ る よ う にな っ てい ます。
PERFORCE は、 チェ ン ジリ ス ト に番号を 割り 当てる ほか、 デフ ォ ル ト ・ チ ェ ン ジ リ ス ト を 管理し
ま す。 デフ ォ ルト ・ チェ ン ジリ ス ト にはサブミ ッ ト の際に番号が付けら れま す。 複数のチェ ン
ジリ ス ト を 作成し て作業を 整理する こ と ができ ま す。 例え ば、 あ る チェ ン ジリ ス ト には新機能
を 実装する ために変更さ れる フ ァ イ ルを 入れ、 別のチェ ン ジリ ス ト にはバグ 修正を 含める こ と
も でき ま す。 フ ァ イ ルを 作業状態にする と 、 コ マン ド ラ イ ン で -c オプシ ョ ン を 使用し て 既存
のチェ ン ジリ ス ト 番号を 指定し ない限り 、 そのフ ァ イ ルはデフ ォ ルト ・ チェ ン ジリ ス ト に置か
れま す。 例え ば、 チェ ン ジリ ス ト 番号 4 でフ ァ イ ルを 編集し 、 サブミ ッ ト する には、 p4 edit
-c 4 filename を 使用し ま す。 フ ァ イ ルを デフ ォ ルト ・ チェ ン ジリ ス ト で作業状態にする に
は、 -c オプシ ョ ン を省略 し ます。
ま た、 チ ェ ン ジ リ ス ト を保留 し て、 ユーザ自身での使用ま たは別のユーザに よ る レ ビ ュ ーを目
的 と し て進行中の作業を一時的に保存 し てお く こ と も 可能です。 フ ァ イ ルを保留す る こ と に よ
り 、 フ ァ イ ルを正式にデ ィ ポにサブ ミ ッ ト せずに、 共有サービ ス に一時的にキ ャ ッ シ ュ す る こ
と がで き ます。
他のユーザの操作内容に よ っ て、チ ェ ン ジ リ ス ト のサブ ミ ッ ト の際に、PERFORCE サーバがチ ェ
ン ジ リ ス ト の番号を付け替え る 場合が あ り ま す。 チ ェ ン ジ リ ス ト の番号が付け替え ら れた場
合、 元の番号が別のチ ェ ン ジ リ ス ト に割 り 当て ら れ る こ と はあ り ません。
52
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
チ ェ ン ジ リ ス ト に対 し て フ ァ イ ルの追加ま たは削除を行 う コ マ ン ド を以下に示 し ます。
• p4 add
• p4 delete
• p4 edit
• p4 integrate
• p4 reopen
• p4 revert
• p4 shelve
• p4 unshelve
番号付チ ェ ン ジ リ ス ト を サブ ミ ッ ト す る には、 p4 submit コ マ ン ド 発行時に -c オプシ ョ ン
を指定 し ます。 デフ ォ ル ト ・ チ ェ ン ジ リ ス ト を サブ ミ ッ ト す る には、 -c オプシ ョ ン を省略 し
ます。 詳 し く は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 の p4 submit コ マ ン ド に関す る 説明
を参照 し て く だ さ い。
フ ァ イ ルを 1 つのチェ ン ジ リ ス ト か ら 別のチ ェ ン ジ リ ス ト に移動さ せる には、 p4 reopen -c
changenum filenames コ マ ン ド を、 changenum に移動先のチ ェ ン ジ リ ス ト の番号を指定
し て 発行し て く だ さ い 。 フ ァ イ ルを デフ ォ ルト ・ チ ェ ン ジ リ ス ト に 移動さ せる 場合は 、
p 4 reopen -c default filenames を使用 し ます。
番号付チ ェ ン ジ リ ス ト の作成
番号付チ ェ ン ジ リ ス ト を作成す る には、 p4 change コ マ ン ド を発行 し ます。 こ の コ マ ン ド に
よ り チ ェ ン ジ リ ス ト ・ フ ォーム が表示 さ れ ます。 コ メ ン ト を入力 し 、 必要な変更を行っ てか ら
フ ォーム を保存 し 、 エデ ィ タ を終了 し ます。
デフ ォ ル ト ・ チ ェ ン ジ リ ス ト で作業状態にな っ てい る すべての フ ァ イ ルが新 し いチ ェ ン ジ リ ス
ト に移動 し ます。 テ キ ス ト ・ エデ ィ タ を終了す る と 、 チ ェ ン ジ リ ス ト に番号が割 り 当て ら れま
す。 フ ァ イ ルを こ のチ ェ ン ジ リ ス ト か ら 削除す る と 、 それ ら の フ ァ イ ルはデフ ォ ル ト ・ チ ェ ン
ジ リ ス ト に戻 り ます。
例 : 複数のチ ェ ン ジ リ ス ト を使っ て作業す る
ブルー ノ は 2 つのバグ修正を行っ てお り 、 それぞれの修正を別のチ ェ ン ジ リ ス ト にサブ
ミ ッ ト す る必要があ り ます。そ こ で 1 番目の修正に対す る フ ァ イ ルの最新 リ ビ ジ ョ ン を同
期 さ せ、 デフ ォ ル ト ・ チ ェ ン ジ リ ス ト で編集目的で作業状態に し ます。
C:\bruno_ws\>p4 sync //depot/dev/main/jam/*.c
[list of files synced...]
C:\bruno_ws>p4 edit //depot/dev/main/jam/*.c
[list of files opened for edit...]
こ こ でブルー ノ は p4 change コ マン ド を発行 し て、 チ ェ ン ジ リ ス ト ・ フ ォームに コ メ ン
ト を入力 し ます。 彼が フ ァ イ ルを保存 し てエデ ィ タ を終了 さ せ る と 、 PERFORCE はフ ァ イ
ルを含む番号付チ ェ ン ジ リ ス ト を作成 し ます。
C:\bruno_ws\dev\main\docs\manuals>p4 change
[Enter description and save form]
Change 777 created with 33 open file(s).
ブルー ノ は 2 番目のバグ修正に対 し て も 同様に、 p4 sync、 p4 edit、 p4 change を
実行 し ます。 こ の よ う に し て、 各修正に対 し て 1 つずつ、 2 つの番号付チ ェ ン ジ リ ス ト が
作成 さ れま し た。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
53
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
サブ ミ ッ ト 済チ ェ ン ジ リ ス ト に割 り 当て ら れ る 番号は、 チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れた順
番を表 し ます。チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れ る と き 、以下の例で示す よ う に PERFORCE サー
バが番号を付け替え る 場合があ り ます。
例 : チ ェ ン ジ リ ス ト 番号の自動付け替え
ブルー ノ は、 チ ェ ン ジ リ ス ト 777 を使っ て作業 し ていたバグの修正を完了 し ま し た。 そ
のチ ェ ン ジ リ ス ト を作成 し た後に、 ブルー ノ は別のチ ェ ン ジ リ ス ト をサブ ミ ッ ト し 、 他の
2 人のユーザ も チ ェ ン ジ リ ス ト をサブ ミ ッ ト し ま し た。
ブルー ノ が p4 submit -c 777 を実行 し てチ ェ ン ジ リ ス ト 777 をサブ ミ ッ ト す る と 、次
の よ う な メ ッ セージが表示 さ れます。
Change 777 renamed change 783 and submitted.
チ ェ ン ジ リ ス ト のサブ ミ ッ ト
作 業 中 チ ェ ン ジ リ ス ト を サ ブ ミ ッ ト す る に は、 p4 submit コ マ ン ド を 発 行 し ま す。 p4
submit コ マ ン ド を発行す る と 、 フ ォ ームが表示 さ れ、 そ こ にチ ェ ン ジ リ ス ト にあ る フ ァ イ ル
が リ ス ト さ れ ます。 こ の リ ス ト か ら フ ァ イ ルを取 り 除 く こ と も で き ます。 取 り 除いた フ ァ イ ル
は、 サブ ミ ッ ト ま たは復元を行わない限 り 、 デフ ォ ル ト の作業中チ ェ ン ジ リ ス ト 内に作業状態
の ま ま残 り ます。
デフ ォ ル ト ・ チ ェ ン ジ リ ス ト で作業状態に さ れてい る 特定の フ ァ イ ルを サブ ミ ッ ト す る には、
p4 submit filename コ マ ン ド を発行 し ま す。 フ ァ イ ルの集合を指定す る には、 ワ イ ル ド
カー ド を使用 し ます。 例えば、 デフ ォ ル ト ・ チ ェ ン ジ リ ス ト で作業状態に さ れてい る すべての
テ キ ス ト フ ァ イ ル を サブ ミ ッ ト す る には、 p4 submit "*".txt と 入力 し ま す。 (エ ス ケー
プ ・ コ ー ド と し て引用符を * ワ イ ル ド カー ド の前後に付けて、 ロ ーカル ・ コ マ ン ド ・ シ ェ ルに
よ り 解釈 さ れない よ う に し て く だ さ い。)
チ ェ ン ジ リ ス ト ・ フ ォ ーム を保存 し て テ キ ス ト ・ エデ ィ タ を終了す る と 、 チ ェ ン ジ リ ス ト が
PERFORCE サービ ス にサブ ミ ッ ト さ れ、 デ ィ ポの フ ァ イ ルが更新 さ れ ます。 チ ェ ン ジ リ ス ト の
サブ ミ ッ ト が成功す る と 、 それ を 変更で き る のは PERFORCE 管理者のみ と な り 、 変更可能な
フ ィ ール ド は コ メ ン ト お よ びユーザ名のみにな り ます。
デフ ォ ル ト ・チ ェ ン ジ リ ス ト のサブ ミ ッ ト の際にエ ラ ーが発生 し た場合、PERFORCE はサブ ミ ッ
ト し よ う と し た フ ァ イ ルを含む番号付チ ェ ン ジ リ ス ト を作成 し ます。 問題の修正後、 -c オプ
シ ョ ン を使用 し て番号付チ ェ ン ジ リ ス ト を サブ ミ ッ ト し なければな り ません。
PERFORCE は編集目的で作業状態に し た フ ァ イ ルを書 き 込み可能に し て、 それ ら の フ ァ イ ルを
含むチ ェ ン ジ リ ス ト のサブ ミ ッ ト が成功 し た と き に書 き 込み禁止に し ます。 PERFORCE に よ る
ワ ー ク スペース管理 と 衝突 し ない よ う にす る ため、 フ ァ イ ルの書 き 込み権限を手動で変更 し な
いで く だ さ い。
チ ェ ン ジ リ ス ト の削除
作業中チ ェ ン ジ リ ス ト を削除す る には、 まずそのチ ェ ン ジ リ ス ト に関連付け ら れてい る すべて
の フ ァ イ ルお よ びジ ョ ブ を削除 し た後、p4 change -d changenum コ マ ン ド を発行 し ます。
関連す る 操作には以下の も のが含まれ ます。
• フ ァ イ ルを別のチ ェ ン ジ リ ス ト に移動す る には、 p4 reopen -c changenum コ マ ン ド を
発行 し ます。
• フ ァ イ ルをチ ェ ン ジ リ ス ト か ら 削除 し て変更を破棄す る には、p4 revert -c changenum
コ マ ン ド を発行 し ます。
既にサブ ミ ッ ト さ れたチ ェ ン ジ リ ス ト の削除は、 PERFORCE 管理者のみ実行が可能です。 詳 し
く は、 『PERFORCE シ ス テ ム管理者ガ イ ド 』 を ご覧 く だ さ い。
54
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
フ ァ イルの リ ネーム と 移動
フ ァ イ ルの リ ネーム ま たは移動を行 う には、 まずフ ァ イ ルを追加ま たは編集目的で作業状態に
し てか ら 、 p4 move コ マ ン ド を使用 し ます。
p4 move source_file target_file
フ ァ イ ルの集合を移動す る には、source_file 指定子 と target_file 指定子 と で一致す る
ワ イ ル ド カ ー ド を 使用 し ま す。 フ ァ イ ル を 移動す る に は、 指定 さ れ た フ ァ イ ル に 対す る
PERFORCE の write 権限が必要です。 (PERFORCE 権限に関 し て詳 し く は、 『PERFORCE シ ス テ ム
管理者ガ イ ド 』 を ご覧 く だ さ い。 )
p4 move を使用 し て フ ァ イ ルの リ ネーム ま たは移動を行 う と き 、バージ ョ ン化サービ ス は削除
さ れた先行フ ァ イ ルに リ ン ク す る 反映記録を作成 し て、 フ ァ イ ルの履歴を保存 し ます。 (反映
操作はブ ラ ンチの作成お よ び変更の伝達に も 使用 さ れます。 詳 し く は、 76 ページの 「変更の反
映」 を ご覧 く だ さ い。
進行中の作業を保留する
PERFORCE の保留機能では、チ ェ ン ジ リ ス ト をデ ィ ポにチ ェ ッ ク イ ンす る こ と な く 、自分の フ ァ
イ ルの コ ピーを他のユーザが使用で き る よ う にす る こ と がで き ます。
保留機能は、 変更をチ ェ ッ ク イ ンす る 前に タ ス ク を切 り 替え た り ク ロ ス プ ラ ッ ト フ ォ ーム ・ テ
ス ト を実行 し た り す る 、 個々の開発者に と っ て有効です。 ま た、 保留機能に よ り 、 チームに変
更を容易に引 き 継 ぐ こ と や コ ー ド ・ レ ビ ュ ーを実行す る こ と が可能です。
例 : チ ェ ン ジ リ ス ト を保留す る
アールは UNIX プ ラ ッ ト フ ォームにおいて command.c を変更 し たので、 自分の加えた変
更を他の メ ンバーが確認 し 、 テ ス ト し て欲 し い と 考えてい ます。
$ p4 edit //depot/dev/command.c
//depot/dev/command.c#9 - opened for edit
...
$ p4 shelve
Change 123 created with 1 open file(s).
Shelving files for change 123.
edit //depot/dev/command.c#9
Change 123 files shelved.
作業中チ ェ ン ジ リ ス ト が作成 さ れ、保留 さ れたバージ ョ ンの command.c がサービ ス に格
納 さ れます。 command.c フ ァ イ ルはアールの ワー ク スペース に編集可能な状態で残 さ れ
てい る ので、 アールはフ ァ イ ルへの作業を続行す る か、 自分の変更を元に戻 し て他の作業
を行 う こ と が可能です。
保留 さ れた フ ァ イ ルは、 それ ら を保留 し た と き のチ ェ ン ジ リ ス ト 内で作業状態の ま ま残 さ れま
す。 (既存の保留状態のチ ェ ン ジ リ ス ト に フ ァ イ ルを追加す る には、 まずその フ ァ イ ルを当該
チ ェ ン ジ リ ス ト で作業状態に し なければな り ません。) ユーザは保留 さ れた フ ァ イ ルに影響を
与え る こ と な く 、 ワ ー ク スペース内の フ ァ イ ルへの作業を続行す る こ と がで き ます。 保留 さ れ
た フ ァ イ ルは、 他のユーザが所有す る ワ ー ク スペース も 含め、 他の ワ ー ク スペース に同期 さ せ
る こ と がで き ます。 例を示 し ます。
例 : コ ー ド ・ レ ビ ュ ーのためにチ ェ ン ジ リ ス ト の保留を解除 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
55
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
アールは、 彼がチ ェ ン ジ リ ス ト 123 で保留 し たバージ ョ ンの command.c に対 し 、 コー ド ・
レ ビ ュ ー と ク ロ ス プ ラ ッ ト フ ォ ーム での互換性のチ ェ ッ ク を依頼 し ま し た。 ブルー ノ は
Windows マシ ン を使用 し てい る ので、 次の よ う に タ イ プ し ます。
C:\bruno_ws\dev> p4 unshelve -s 123 //depot/dev/command.c
//depot/dev/command.c#9 - unshelved, opened for edit
そ し て Windows 環境でテ ス ト を行い、 その間アールは他の作業を続行 し ます。
フ ァ イ ルを保留す る と 、 保留状態のバージ ョ ンは、 ユーザが ワ ー ク スペース で実行す る コ マ ン
ド (他の作業を行 う ために フ ァ イ ルを元に戻す操作 も 含む) の影響を受け ません。
例 : 他のユーザにフ ァ イ ルを引 き 継ぐ
アールのバージ ョ ンの command.c は UNIX 上で動作 し ますが、 ブルー ノ が command.c
の ク ロ ス プ ラ ッ ト フ ォーム互換性をチ ェ ッ ク し た と こ ろ、 バグが発見 さ れま し た。 こ こ か
ら はブルー ノ が仕事を引 き継ぎ、アールは自分の ワー ク スペース を元に戻 し て別の作業を
行 う こ と がで き ます。
$ p4 revert //depot/dev/command.c
//depot/dev/command.c#9 - was edit, reverted
command.c の保留 さ れたバージ ョ ンは依然 と し て アールの作業中チ ェ ン ジ リ ス ト 123 か
ら 入手で き る ため、 ブルー ノ はそれを新 し いチ ェ ン ジ リ ス ト 、 チ ェ ン ジ リ ス ト 124 で作業
状態に し ます。
$ p4 unshelve -s 123 -c 124 //depot/dev/command.c
//depot/dev/command.c#9 - unshelved, opened for edit
ブルー ノ が作業を完了 し た ら 、 さ ら に レ ビ ュ ーを行 う ためにフ ァ イ ルを (アールのチ ェ ン
ジ リ ス ト 123 ではな く 自分のチ ェ ン ジ リ ス ト 124 で) 再度保留す る か、 ま たは保留 さ れた
フ ァ イ ルを破棄 し 、 p4 submit を使用 し て自分の ワー ク スペース内のバージ ョ ン をサブ
ミ ッ ト す る こ と がで き ます。
p4 submit コ マ ン ド には -e オプシ ョ ン があ り 、こ れを使用す る と 保留 さ れた フ ァ イ ルを直接
チ ェ ン ジ リ ス ト か ら サブ ミ ッ ト で き ます。保留状態のチ ェ ン ジ リ ス ト にあ る すべての フ ァ イ ル
は最新で衝突解決 さ れてい る 必要があ り ます。 ス ト リ ーム ・ タ ーゲ ッ ト に保留 さ れてい る フ ァ
イ ルには、 その他の制限が適用 さ れ る 場合があ り ます。 詳 し く は、 『 コ マ ン ド ・ リ フ ァ レ ン ス』
を参照 し て く だ さ い。 ( こ れ ら の制限に対処せずに済む よ う に、 チ ェ ン ジ リ ス ト を サブ ミ ッ ト
す る 前に、保留状態の フ ァ イ ルをいつで も 新 し い作業中チ ェ ン ジ リ ス ト に移動す る こ と がで き
ます。)
例 : 変更をサブ ミ ッ ト す る 前に保留状態のフ ァ イ ルを破棄す る
Windows での ク ロ ス プ ラ ッ ト フ ォーム対応の変更が完了 し たため、チ ェ ン ジ リ ス ト 124 を
サブ ミ ッ ト す る 準備がで き ま し た。 ブルー ノ は p4 shelve -d を使用 し て、 保留 さ れた
フ ァ イ ルを破棄 し ます。
C:\bruno_ws\dev> p4 shelve -d -c 124
Shelve 124 deleted.
保留 さ れたチ ェ ン ジ リ ス ト 内のすべてのフ ァ イ ルが削除 さ れます。こ れでブルー ノ はチ ェ
ン ジ リ ス ト をサブ ミ ッ ト す る こ と がで き ます。
C:\bruno_ws\dev> p4 submit -c 124
Change 124 submitted.
ブルー ノ がチ ェ ン ジ リ ス ト 124 でそのフ ァ イ ルを保留 し て、アールがその フ ァ イ ルを保留
解除 し て元のチ ェ ン ジ リ ス ト 123 に戻 し 、 チ ェ ッ ク イ ン を完了 さ せて も よ いで し ょ う 。
56
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
チ ェ ン ジ リ ス ト に関する情報の表示
チ ェ ン ジ リ ス ト の簡潔な情報を表示す る には、 p4 changes コ マ ン ド を使用 し ま す。 詳細な
情報を表示す る には、 p4 describe コ マ ン ド を使用 し ます。 以下の表に有用な レ ポー ト ・ コ
マ ン ド お よ びオプシ ョ ン を い く つか記述 し ます。
コマン ド
説明
p4 changes
すべての作業中チ ェ ン ジ リ ス ト 、 サブ ミ ッ ト 済チ ェ ン ジ リ ス ト 、 お
よ び保留状態のチ ェ ン ジ リ ス ト の一覧を表示 し ます。 チ ェ ン ジ リ ス
ト あ た り 1 行の簡単な コ メ ン ト が付き ます。
p4 changes -m count
レ ポー ト さ れ る チ ェ ン ジ リ ス ト の数を、 最新の count 数のチ ェ ン ジ
リ ス ト に制限 し ます。
p4 changes -s status
特定の状態 status のチ ェ ン ジ リ ス ト だけの一覧を表示 し ます。 例え
ば p4 changes -s submitted の場合は、サブ ミ ッ ト 済チ ェ ン ジ
リ ス ト だけが表示 さ れます。
p4 changes -u user
特定のユーザ user に よ っ てサブ ミ ッ ト さ れたチ ェ ン ジ リ ス ト の一
覧を表示 し ます。
p4 changes -c workspace
特定の ク ラ イ ア ン ト ・ ワ ー ク スペース workspace か ら サブ ミ ッ ト さ
れたチ ェ ン ジ リ ス ト の一覧を表示 し ます。
p4 describe changenum
単一のチ ェ ン ジ リ ス ト に関す る すべて の情報 を 表示 し ま す。 サブ
ミ ッ ト 済チ ェ ン ジ リ ス ト の場合、 対象フ ァ イ ルの一覧お よ び処理済
みフ ァ イ ルの差分 も レ ポー ト に含まれます。 フ ァ イ ルの差分を除外
し たい と き は -s オプシ ョ ン を使用 し ます。
p4 describe -O changenum
チ ェ ン ジ リ ス ト 番号が変更 さ れてい る 場合、 チ ェ ン ジ リ ス ト を元の
チ ェ ン ジ リ ス ト 番号で表 し ます。 (例えば、 54 ページの 「チ ェ ン ジ
リ ス ト 番号の自動付け替え」 の例で番号が変え ら れたチ ェ ン ジ リ ス
ト は、p4 describe 783 ま たは p4 describe -O 777 に よ り 取
得で き ます。)
よ り 詳 し く は、 104 ページの 「チ ェ ン ジ リ ス ト の レ ポー ト 」 を ご覧 く だ さ い。
フ ァ イル内容の比較
PERFORCE ではテ キ ス ト ・ フ ァ イ ルの リ ビ ジ ョ ン の 差分を取 る (比較す る ) こ と が可能です。
フ ァ イ ル内容を比較す る こ と に よ り 、 次の よ う な内容を表示で き ます。
• フ ァ イ ルを編集目的で作業状態に し た後に行っ た変更
• 2 つの リ ビ ジ ョ ン間の差分
• 異な る ブ ラ ンチにあ る フ ァ イ ル ・ リ ビ ジ ョ ン間の差分
ワ ー ク ス ペー ス に 同期 さ れ た フ ァ イ ル を デ ィ ポ ・ リ ビ ジ ョ ン と 比較す る に は、 p4 diff
filename#rev コ マ ン ド を発行 し ま す。 リ ビ ジ ョ ン指定子を省略す る と 、 ワ ー ク ス ペー ス 内
の フ ァ イ ルは、 最後に同期 さ せた リ ビ ジ ョ ン と 比較 さ れ、 同期 さ せた後に行っ た変更が表示 さ
れます。
デ ィ ポ に は存在 し ワ ー ク ス ペー ス に は存在 し な い 2 つの リ ビ ジ ョ ン を 比較す る に は、 p4
diff2 コ マ ン ド を使用 し ます。 フ ァ イ ルの集合を比較す る には、 p4 diff2 コ マ ン ド の発行
時に フ ァ イ ル名の引数に ワ イ ル ド カー ド を指定 し ます。
p4 diff コ マ ン ド では ワー ク ス テーシ ョ ン上で比較が行われ ますが、 p4 diff2 コ マ ン ド は
diff を実行 し てその結果を ユーザに送 る よ う に PERFORCE サービ ス に指示 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
57
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
以下の表に比較 コ マ ン ド に共通す る 用途を い く つか示 し ます。
比較する
比較対象
使用する コ マ ン ド
ワ ー ク ス ペ ー ス ・ 最新 リ ビ ジ ョ ン
フ ァ イル
p4 diff file
ま たは
p4 diff file#head
ワ ー ク ス ペー ス ・
フ ァ イル
リ ビジ ョ ン 3
p4 diff file#3
最新 リ ビ ジ ョ ン
リ ビ ジ ョ ン 134
p4 diff2 file file#134
チ ェ ン ジ リ ス ト 32 チ ェ ン ジ リ ス ト 177の p4 diff2 file@32 file@177
の フ ァ イ ル ・ リ ビ フ ァ イ ル・ リ ビ ジ ョ ン
ジョン
ワ ー ク ス ペ ー ス ・ 作業中チ ェ ン ジ リ ス p4 diff2 file@=123
フ ァ イル
ト 123内の保留状態の
フ ァ イル
リ リ ース 1 のすべて
のフ ァ イ ル
リ リ ース 2のすべての p4 diff2 //depot/rel1/... //depot/rel2/...
フ ァ イル
デフ ォ ル ト では、p4 diff コ マ ン ド に よ り PERFORCE 内部の比較アプ リ ケーシ ョ ンが起動 さ れ
ます。 異な る 比較プ ロ グ ラ ム を使用す る には、 P4DIFF 環境変数を設定 し て目的のアプ リ ケー
シ ョ ンのパ ス と 実行フ ァ イ ル名を指定 し ます。外部の比較アプ リ ケーシ ョ ンに引数を指定す る
には、 -d オプシ ョ ン を使用 し ま す。 詳 し く は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を参照
し て く だ さ い。
58
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
オ フ ラ イ ン で作業する
オ フ ラ イ ン で (PERFORCE サー ビ ス に ア ク セ ス せずに) 作業す る 場合に推奨 さ れ る 方法は、
PERFORCE サン ド ボ ッ ク ス を使用す る こ と です。 詳 し く は、 『PERFORCE サン ド ボ ッ ク ス ・ ユー
ザーズ ・ ガ イ ド 』 を参照 し て く だ さ い。
http://www.perforce.com/perforce/doc.current/manuals/p4sandbox/
PERFORCE サン ド ボ ッ ク ス を ご使用でない場合は、 PERFORCE サービ ス に再度ア ク セ ス し た と き
にそれま で行っ た作業を手動で一致 さ せなければな り ません。以下に示す非接続での作業方法
は、 ワ ー ク ス ペース にあ る フ ァ イ ルを直接操作す る 場合、 ま たはデ ィ ポ を更新す る 前に追加、
更新、 削除を行っ て ワ ー ク スペース を更新す る 場合を想定 し てい ます。
オ フ ラ イ ン で作業す る には
1.
p4 コ マ ン ド を発行せずに、 フ ァ イ ルを操作 し ます。 ま たは、 OS の コ マ ン ド を使っ て フ ァ
イ ルのパー ミ ッ シ ョ ン を変更 し て く だ さ い。
2.
ネ ッ ト ワ ー ク 接続が再確立 さ れた ら 、 p4 status ま たは p4 reconcile を使用 し て
ワ ー ク スペース内のすべての変更 さ れた フ ァ イ ルを見つけ ます。 ( 新 し い フ ァ イ ルは手動
で追跡す る 必要があ り ます。 )
3.
結果 と な る チ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます。
変更 さ れた フ ァ イ ルを検出す る には、 p4 status ま たは p4 reconcile コ マ ン ド を発行 し
ます。 こ の コ マ ン ド は本質的には同 じ 動作を行い ますが、 デフ ォ ル ト の動作 と 出力形式が異な
り ます。
コマン ド
説明
p4 reconcile
引数を付けずに実行す る と 、p4 reconcile はフ ァ イ ルをチ ェ ン ジ リ ス ト 内
で作業状態に し ます。 操作のプ レ ビ ュ ーを行 う には、 p4 reconcile に -n
オプシ ョ ン を使用す る か、 p4 status コ マ ン ド を使用 し て く だ さ い。
p4 status
引数を付けずに実行す る と 、 p4 status は ワ ー ク スペース照合の結果のみ
をプ レ ビ ュ ー し ます。 実際に フ ァ イ ルをチ ェ ン ジ リ ス ト 内で作業状態にする
には、 p4 status -A (ま たは -e、 -a、 -d オプシ ョ ンの組み合わせ) を使
用す る 必要があ り ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
59
第 4 章 : フ ァ イ ル と チ ェ ン ジ リ ス ト の管理
60
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
衝突の解決
第5章
こ の章では、 チーム開発環境での作業方法を説明 し ます。 チーム開発環境では、 同一の フ ァ イ
ルを複数のユーザが操作す る ため、 各ユーザの変更を調整す る 必要があ る 場合があ り ます。
複数のユーザが同一の フ ァ イ ル群を操作す る よ う に設定 さ れてい る と 、衝突が発生す る こ と が
あ り ま す。 PERFORCE では、 同 じ フ ァ イ ルのチーム内での同時操作が可能で あ り 、 発生す る 衝
突を解決す る こ と がで き ます。 例えば、 2 人のユーザが同 じ フ ァ イ ルを操作す る か ( チーム設
定におけ る 大 き な懸念事項 )、 ま たはフ ァ イ ルの最新 リ ビ ジ ョ ン ではな く 古い リ ビ ジ ョ ン を編
集す る 場合に衝突が発生 し ます。
デ ィ ポ内の最新 リ ビ ジ ョ ン と 衝突す る フ ァ イ ルを サブ ミ ッ ト し よ う と す る と 、 PERFORCE はそ
の衝突を解決す る よ う 要求 し ます。 変更を開発ブ ラ ンチか ら リ リ ース ・ ブ ラ ンチにマージす る
作業 も 、 フ ァ イ ルの衝突解決が必要 と な る 主な タ ス ク の 1 つです。
衝突を防 ぐ ため、 PERFORCE では フ ァ イ ルを編集す る と き に フ ァ イ ルを ロ ッ ク で き ます。 し か
し 、 ロ ッ ク す る と チーム での開発作業が制限 さ れ る おそれがあ り ます。 チーム開発では、 フ ァ
イ ル を な る べ く 利用可能な状態にす る と 同時に衝突を最小限に と ど め る 手法を選択す る 必要
があ り ます。 詳 し く は、 69 ページの 「フ ァ イ ルの ロ ッ ク 」 を参照 し て く だ さ い。
P4V (PERFORCE ビ ジ ュ アル ・ ク ラ イ ア ン ト ) お よ び関連ビ ジ ュ アル ・ マージ ・ ツールの P4Merge
な ど の GUI ツールを使用 し て フ ァ イ ルの衝突解決を行 う こ と も で き ます。
衝突が発生する状況
2 人のユーザが同 じ フ ァ イ ルの 2 つのバージ ョ ン を編集 し てサブ ミ ッ ト す る と 、 フ ァ イ ルの衝
突が発生す る こ と があ り ます。 例えば次の よ う な場合、 衝突が発生 し ます。
1.
ブルー ノ が //depot/dev/main/jam/command.c#8 を編集目的の作業状態に し ます。
2.
次にゲ イ ルが、同 じ フ ァ イ ルを自分の ク ラ イ ア ン ト ・ ワ ー ク スペース で作業状態に し ます。
3.
ブルー ノ と ゲ イ ルは と も に //depot/dev/main/jam/command.c#8 を編集 し ます。
4.
ブルー ノ が //depot/dev/main/jam/command.c を含むチ ェ ン ジ リ ス ト を サブ ミ ッ ト
し 、 そのサブ ミ ッ ト が成功 し ます。
5.
ゲ イ ルは彼女のバージ ョ ンの //depot/dev/main/jam/command.c を含むチ ェ ン ジ リ
ス ト を サブ ミ ッ ト し ます。 ゲ イ ルのサブ ミ ッ ト は失敗 し ます。
PERFORCE がデ ィ ポにゲ イ ルのバージ ョ ン を受け入れ る と 、 彼女の変更に よ り ブルー ノ の変更
が上書 き さ れて し ま い ます。 PERFORCE は、 ブルー ノ の変更が失われ る の を防 ぐ ため、 チ ェ ン
ジ リ ス ト を拒否 し て衝突す る フ ァ イ ルの解決を ス ケ ジ ュ ール し ます。 フ ァ イ ルが衝突す る こ と
が事前に分か っ てお り 、 フ ァ イ ルの衝突解決を ス ケ ジ ュ ール し たい場合は、 その フ ァ イ ルを同
期 さ せます。 PERFORCE はフ ァ イ ルの衝突を検出 し 、 その解決を ス ケ ジ ュ ール し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
61
第 5 章 : 衝突の解決
衝突解決の方法
フ ァ イ ルの衝突を解決す る には、 p4 resolve コ マ ン ド を発行 し てサブ ミ ッ ト を行 う フ ァ イ
ルの コ ン テ ン ツ を決定 し 、 各フ ァ イ ルに対 し て解決方法を選択 し ます。 衝突を解決 し た ら 、 そ
の フ ァ イ ルを含むチ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます。
注 フ ァ イ ルを編集目的で作業状態に し た後、 それ以降にサブ ミ ッ ト さ れた リ ビ
ジ ョ ン をデ ィ ポか ら 同期 さ せ る 場合、 ユーザに よ る 変更がデ ィ ポ ・ フ ァ イ ル
に よ り 上書 き さ れない よ う 、 PERFORCE に よ り 衝突解決が要求 さ れ ます。
PERFORCE は、 デフ ォ ル ト では比較プ ロ グ ラ ム を使用 し て衝突を検出 し ます。 サー ド ・ パーテ ィ
の比較プ ロ グ ラ ム を設定す る こ と も で き ます。 詳 し く は、 57 ページの 「フ ァ イ ル内容の比較」
を ご覧 く だ さ い。
衝突を解決 し て変更を サブ ミ ッ ト す る には、 以下の手順を実行 し ます。
1.
フ ァ イ ル(例えば、p4 sync //depot/dev/main/jam/...) を同期 さ せます。PERFORCE
は衝突を検出 し 、 衝突 し てい る フ ァ イ ルの解決を ス ケ ジ ュ ール し ます。
2.
p4 resolve コ マ ン ド を発行 し て、 衝突を解決 し ます。 解決オプシ ョ ン について詳 し く
は、 63 ページの 「衝突解決のオプシ ョ ン」 を ご覧 く だ さ い。
3.
生成 さ れた フ ァ イ ルを検査 し ます ( コ ー ド を コ ンパ イ ル し 、 稼働を確認す る な ど し て)。
4.
フ ァ イ ルを含むチ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます。
注 マージ対象の 3 つの フ ァ イ ル ・ リ ビ ジ ョ ンのいずれかがテ キ ス ト ではな く バ
イ ナ リ で あ る 場合、 3 ウ ェ イ ・ マージ を行 う こ と はで き ま せん。 代わ り に、
p4 resolve に よ り 2 ウ ェ イ ・ マージが実行 さ れ ます。 フ ァ イ ルの衝突す る
2 つのバージ ョ ン が表示 さ れ る ので、 ど ち ら か を選択す る か、 いずれか 1 つ
を ワー ク スペース で編集 し てか ら チ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます。
yours、 theirs、 base、 merge の各フ ァ イル
p4 resolve コ マ ン ド ではマージ処理において次の用語が使用 さ れます。
62
フ ァ イル ・ リ ビ ジ ョ ン
説明
yours
ク ラ イ ア ン ト ・ ワー ク スペース にあ る 、 変更を含むフ ァ イ ルの リ ビ ジ ョ
ン。
theirs
他のユーザに よ り 編集 さ れ yours と 衝突 し て い る 、 デ ィ ポ内の リ ビ
ジ ョ ン。 (通常は最新 リ ビ ジ ョ ンであ る が、 p4 sync を使っ て別の リ ビ
ジ ョ ンに よ る 衝突解決の ス ケ ジ ュ ールが可能。)
base
yours と theirs を編集す る 元 と な っ たデ ィ ポ内の フ ァ イ ル ・ リ ビ ジ ョ
ン (直近の共通祖先 と な る フ ァ イ ル)。
merge
PERFORCE に よ り theirs、 yours、 base か ら 生成 さ れ る フ ァ イ ル。
result
衝突解決プ ロ セ ス の最終結果 と な る フ ァ イ ル。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 5 章 : 衝突の解決
衝突解決のオプ シ ョ ン
衝突を解決す る 方法を指定す る には、 p4 resolve コ マ ン ド を発行 し ます。 それに よ り 衝突
解決が ス ケ ジ ュ ール さ れた フ ァ イ ルご と に、 ダ イ ア ロ グが表示 さ れ ます。 ダ イ ア ロ グには、 変
更 し た フ ァ イ ル と 衝突す る リ ビ ジ ョ ン と の相違点が記述 さ れ ます。 例を示 し ます。
p4 resolve //depot/dev/main/jam/command.c
c:\bruno_ws\dev\main\jam\command.c - merging //depot/dev/main/jam/command.c#9
Diff chunks: 4 yours + 2 theirs + 1 both + 1 conflicting
Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) e:
各フ ァ イ ルの組の相違点が p4 resolve に よ り 要約 さ れ ます。 行の ま と ま り (チ ャ ン ク ) は
yours、 theirs、 base フ ァ イ ルでそれぞれ異な る 場合があ り ます。 チ ャ ン ク の形態を以下に
示 し ます。
• 差分 : yours、 theirs、 base の 3 つの フ ァ イ ルの う ち 2 つが異な る 場合
• 衝突 : 3 つの フ ァ イ ルすべてが異な る 場合
上記の例において、
• 4 つのチ ャ ン ク が theirs と base と で同一であ る が、 yours では異な る
• 2 つのチ ャ ン ク が yours と base と で同一であ る が、 theirs では異な る
• 1 つのチ ャ ン ク が yours と theirs と で同様に変更 さ れてい る
• 1 つのチ ャ ン ク が yours 、 theirs、 base で異な っ てい る
PERFORCE が推奨す る 選択が コ マ ン ド ラ イ ン の終わ り に表示 さ れ ま す。 ENTER キーを押すか、
Accept を選択す る と 、 推奨 さ れた選択が実行 さ れ ます。
以下に示す 3 つの基本的な方法に よ り 衝突解決が可能です。
• フ ァ イ ルを変更せずに受け入れます。 (64 ページの 「yours、 theirs、 ま たは merge の承諾」 を
ご覧 く だ さ い。)
• merge フ ァ イ ルを テ キ ス ト ・ エデ ィ タ で編集 し ます。 (64 ページの 「merge フ ァ イ ルの編集」
を ご覧 く だ さ い。)
• マージ ・ プ ロ グ ラ ム を使用 し て、 選択を行いなが ら 変更を マージ し ます。 (65 ページの 「衝
突解決のためのマージ」 を ご覧 く だ さ い。)
上記のオプシ ョ ンは対話式オプシ ョ ン です。 受け入れたい フ ァ イ ルが分か っ てい る 場合は、 p4
resolve コ マ ン ド ラ イ ン で解決オプシ ョ ン を指定す る こ と も で き ます。 詳 し く は、 68 ページ
の 「衝突解決のための コ マ ン ド ラ イ ン ・ オプシ ョ ン」 を ご覧 く だ さ い。
解決済みであ る がサブ ミ ッ ト さ れていない フ ァ イ ルを再度解決す る には、p4 resolve コ マ ン
ド の発行時に -f オプシ ョ ン を指定 し ます。 フ ァ イ ルのサブ ミ ッ ト 後は、 再度解決を行 う こ と
はで き ません。
次のセ ク シ ョ ン では、 解決オプシ ョ ン について さ ら に詳 し く 説明 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
63
第 5 章 : 衝突の解決
yours、 theirs、 または merge の承諾
フ ァ イ ルを変更せずに受け入れ る には、 以下のオプシ ョ ン の 1 つを指定 し ます。
オプ シ ョ ン
説明
意味
a
推奨 さ れ る フ ァ イ
ルを承諾
・ theirs が base と 同 じ であ る 場合、 yours を受け入れ
ます。
・ yours が base と 同 じ であ る 場合、 theirs を受け入れ
ます。
・ yours と theirs が base と 異な り 、 yours と theirs
に衝突がない場合、 merge を受け入れます。
・ それ以外の場合 yours と theirs に衝突があ る ため、 こ
のフ ァ イ ルを ス キ ッ プ し ます。
ae
編集結果 (edit) を (p4 resolve ダ イ ア ロ グか ら e を選択 し て) merge フ ァ イ
承諾
ルが編集 さ れていれば、編集後のバージ ョ ン を ク ラ イ ア ン ト ・
ワ ー ク スペース に受け入れます。ク ラ イ ア ン ト ・ ワー ク スペー
ス内のバージ ョ ンは上書 き さ れます。
am
merge を承諾
merge を衝突解決後の リ ビ ジ ョ ン と し て ク ラ イ ア ン ト ・ ワ ー
ク スペース に受け入れ ます。 ク ラ イ ア ン ト ・ ワ ー ク スペース
内のバージ ョ ンは上書き さ れます。
at
theirs を承諾
theirsを衝突解決後の リ ビ ジ ョ ン と し て ク ラ イ ア ン ト ・ワ ー
ク スペース に受け入れ ます。 ク ラ イ ア ン ト ・ ワ ー ク スペース
内のバージ ョ ンは上書き さ れます。
ay
yours を承諾
yours を衝突解決後の リ ビ ジ ョ ン と し て ク ラ イ ア ン ト ・ ワ ー
ク スペース に受け入れ ます。 theirs に加え ら れた変更は無
視 さ れます。
yours、 theirs、 edit、 ま たは merge を受け入れ る と 変更が上書 き さ れ る ため、 生成 さ れ
たマージ ・ フ ァ イ ルがデ ィ ポにサブ ミ ッ ト し たい内容 と 正確に一致 し ない場合があ り ます。 必
要な変更のみを正 し く サブ ミ ッ ト す る には、 マージ ・ プ ロ グ ラ ム を使用す る か、 マージ ・ フ ァ
イ ルを編集 し て く だ さ い。
merge フ ァ イルの編集
マージ ・ フ ァ イ ルを編集 し て フ ァ イ ルを解決す る には、 e オプシ ョ ン を選択 し ます。 PERFORCE
はデフ ォ ル ト のテ キ ス ト ・ エデ ィ タ を起動 し 、 マージ ・ フ ァ イ ルを表示 し ます。 マージ ・ フ ァ
イ ルでは、 差分お よ び衝突が次の フ ォーマ ッ ト で表示 さ れます。
>>>> ORIGINAL file#n
( 元のバージ ョ ンか ら のテキ ス ト )
==== THEIR file#m
(their フ ァ イ ルか ら のテキ ス ト )
==== YOURS file
(your フ ァ イ ルか ら のテキ ス ト )
<<<<
衝突 と 差分のあ る 箇所を見つけ る には、 差分マーカ 「>>>>」 を探 し 、 テ キ ス ト の該当部分を
編集 し ます。 theirs の変更箇所を調べ、 自分が行っ た変更 と 矛盾 し ない こ と を確認 し ます。
保存す る 前に必ず、 すべての衝突マーカ を削除 し て く だ さ い。 必要な変更を行っ た後、 フ ァ イ
ルを保存 し ます。 p4 resolve プ ロ ン プ ト において、 ay を選択 し ます。
デフ ォ ル ト では、 yours フ ァ イ ル と theirs フ ァ イ ル と の衝突のみがマー ク さ れ ます。 差分
マーカがすべての差分を生成す る よ う にす る には、p4 resolve コ マ ン ド の発行時に -v オプ
シ ョ ン を指定 し ます。
64
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 5 章 : 衝突の解決
衝突解決のためのマージ
マージ ・ プ ロ グ ラ ム に よ り yours、 theirs、 base の各フ ァ イ ル間の差分が表示 さ れ る ため、 そ こ
か ら 変更の選択や編集を行っ て必要な結果フ ァ イ ルを作成す る こ と がで き ます。 マージ ・ プ ロ
グ ラ ム を構成す る には、 P4MERGE に対象のプ ロ グ ラ ム を設定 し ま す。 解決処理中にマージ ・
プ ロ グ ラ ム を使用す る には、 m オプシ ョ ン を選択 し ます。 特定のマージ ・ プ ロ グ ラ ム の使用に
関 し て詳 し く は、 オ ン ラ イ ン ・ ヘルプ を参照 し て く だ さ い。
マージ を行っ た ら 、 結果を保存 し て マージ ・ プ ロ グ ラ ム を終了 し ま す。 p4 resolve プ ロ ン
プ ト において、 am を選択 し ます。
解決オプ シ ョ ンの全 リ ス ト
p4 resolve コ マ ン ド には、 次のオプシ ョ ン があ り ます。
オプ シ ョ ン
動作
説明
?
Help
p4 resolve のヘルプ を表示 し ます。
a
自動的に承諾
自動的に選択 さ れた フ ァ イ ルを受け入れます。
・ theirs が base と 同 じ であ る 場合、 yours を受け入れま
す。
・ yours が base と 同 じ であ る 場合、 theirs を受け入れま
す。
・ yours と theirs が base と 異な り 、 yours と theirs
に衝突がない場合、 merge を受け入れます。
・ それ以外の場合 yours と theirs に衝突があ る ため、 こ の
フ ァ イ ルを ス キ ッ プ し ます。
ae
編集結果 (edit) を (p4 resolve ダ イ ア ロ グか ら e を選択 し て) merge フ ァ イ
承諾
ルが編集 さ れていれば、編集後のバージ ョ ン を ク ラ イ ア ン ト ・
ワ ー ク スペース に受け入れます。ク ラ イ ア ン ト ・ ワー ク スペー
ス内のバージ ョ ンは上書 き さ れます。
am
merge を承諾
merge を衝突解決後の リ ビ ジ ョ ン と し て ク ラ イ ア ン ト ・ ワ ー
ク スペース に受け入れ ます。 ク ラ イ ア ン ト ・ ワ ー ク スペース
内のバージ ョ ンは上書き さ れます。
at
theirs を承諾
theirsを衝突解決後の リ ビ ジ ョ ン と し て ク ラ イ ア ン ト ・ワ ー
ク スペース に受け入れ ます。 ク ラ イ ア ン ト ・ ワ ー ク スペース
内のバージ ョ ンは上書き さ れます。
ay
yours を承諾
yours を衝突解決後の リ ビ ジ ョ ン と し て ク ラ イ ア ン ト ・ ワ ー
ク スペース に受け入れ ます。 theirs に加え ら れた変更は無
視 さ れます。
d
差分
merge と yours と の差分を表示 し ます。
dm
merge 差分
merge と base と の差分を表示 し ます。
dt
theirs 差分
theirs と base と の差分を表示 し ます。
dy
yours 差分
yours と base と の差分を表示 し ます。
e
merge 編集
PERFORCE に よ っ て生成 さ れた予備マージ ・ フ ァ イ ルを編集 し
ます。
et
theirs 編集
ク ラ イ ア ン ト ・ リ ビ ジ ョ ン が衝突す る デ ィ ポ内の リ ビ ジ ョ ン
(通常は最新 リ ビ ジ ョ ン) を編集 し ます。 こ の編集は読み取 り
専用です。
ey
yours 編集
現在 ワ ー ク スペース にあ る フ ァ イ ル ・ リ ビ ジ ョ ン を編集 し ま
す。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
65
第 5 章 : 衝突の解決
オプ シ ョ ン
動作
説明
m
マージ
コ マ ン ド P4MERGE base theirs yours merge を 実行
し ます。 こ のオプシ ョ ン を実行する には、 環境変数 P4MERGE
にサー ド ・ パーテ ィ のプ ロ グ ラ ム の名前を設定 し なければな
り ません。 こ のプ ロ グ ラ ムでは最初の 3 つの フ ァ イ ルを マー
ジ し 、その結果を 4 番目の フ ァ イ ルに書 き 込む も の と し ます。
s
スキ ップ
こ の フ ァ イ ルを ス キ ッ プ し 、 衝突解決が ス ケ ジ ュ ール さ れた
ま ま に し ます。
注 マージ ・ フ ァ イ ルは PERFORCE サービ ス に よ り 生成 さ れますが、 dy、 dt、 dm、 d の
各オプシ ョ ンで表示 さ れ る 差分は、ワー ク ス テーシ ョ ンの比較プ ロ グ ラ ムに よ り 生成
さ れます。衝突解決で d オプシ ョ ン を選択 し た と き に他の比較プ ロ グ ラ ムが実行 さ れ
る よ う に設定す る には、P4DIFF 環境変数を設定 し ます。詳 し く は、57 ページの 「フ ァ
イ ル内容の比較」 を ご覧 く だ さ い。
例 : フ ァ イ ルの衝突を解決す る
Jam readme フ ァ イ ルに対 し てブルー ノ が行っ た作業 と アールが行っ た作業 と の衝突を解
決す る ため、 ブルー ノ が p4 resolve //depot/dev/main/jam/README と 入力す る と 、 以
下の よ う に表示 さ れま し た。
Diff chunks: 0 yours + 0 theirs + 0 both + 1 conflicting
Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) e: e
ブルー ノ は、 彼 と アールがフ ァ イ ルに対 し て衝突す る 変更を加えた こ と を確認 し ま し た。
そ こ で彼はマージ ・ フ ァ イ ルを編集す る ために e を入力 し て、 差分マーカ 「>>>>」 を探
し ます。 す る と 以下のテ キ ス ト が表示 さ れます。
Jam/MR (formerly "jam - make(1) redux") 
/+\
>>>> ORIGINAL README#26
+\ Copyright 1993, 1997 Christopher Seiwald.
==== THEIRS README#27
+\ Copyright 1993, 1997, 2004 Christopher Seiwald.
==== YOURS README
+\ Copyright 1993, 1997, 2005 Christopher Seiwald.
<<<<
\+/
ブルー ノ と アールは異な る 著作権登録年を記述 し て更新 し ま し た。 ブルー ノ はマージ ・
フ ァ イ ルを編集 し てヘ ッ ダーを正 し く 修正 し 、 エデ ィ タ を終了 し て、 am と 入力 し ま す。
編集 さ れたマージ ・ フ ァ イ ルが ク ラ イ ア ン ト ・ ワー ク スペース に書 き こ まれたので、 彼は
次のフ ァ イ ルの衝突解決に進みます。
衝突解決プ ロ セ ス において フ ァ イ ルの 1 バージ ョ ン が受け入れ ら れ る と 、 ワ ー ク スペース内の
フ ァ イ ルは上書 き さ れ る ので、 新 し い ク ラ イ ア ン ト ・ フ ァ イ ルをデ ィ ポにサブ ミ ッ ト す る 必要
があ り ます。 フ ァ イ ルの衝突解決が完了 し てか ら サブ ミ ッ ト す る ま での間に、 その フ ァ イ ルの
新 し いバージ ョ ン がサブ ミ ッ ト さ れ る と 、 新 し い衝突が発生す る 場合があ り ます。 衝突解決を
行 う 前に フ ァ イ ルを ロ ッ ク す る こ と に よ り 、 こ の問題を回避す る こ と がで き ます。 詳 し く は、
69 ページの 「フ ァ イ ルの ロ ッ ク 」 を ご覧 く だ さ い。
66
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 5 章 : 衝突の解決
ブ ラ ン チ さ れた フ ァ イル、 削除、 移動、 フ ァ イル タ イ プ変更を解決する
反映実行後に関連フ ァ イ ルの内容の変更を突 き 合わせ る 以外に、他の種類の変更を ど の よ う に
処理す る か を決め る こ と がで き ます。 例 :
• あ なたが メ イ ン ラ イ ン で header.cc を編集 し てい る と き 、 同僚がそれを リ リ ース ・ ブ ラ ン
チか ら 削除 し ま し た (ま たはその逆)。 あ なたは リ リ ース ・ ブ ラ ンチでの修正を main に反映
し て戻 し ま し た。 衝突解決の間に、 あ なたは header.cc を メ イ ン ラ イ ン か ら 削除す る か、
ま たは header.cc を メ イ ン ラ イ ン に保持 し 、 リ リ ース ・ ブ ラ ンチでの操作を無視す る か を
決め る こ と がで き ます。
• あ る 開発者が、 開発ブ ラ ンチの ソ ース フ ァ イ ルに RCS キー ワー ド を実装 し て、 それ ら の
PERFORCE フ ァ イ ル タ イ プ を text か ら text+k に変更 し ま し た。 リ リ ース管理者は、 新 し
い機能を開発ブ ラ ン チか ら メ イ ン ラ イ ン に反映 さ せたいのですが、 メ イ ン ラ イ ン での キー
ワ ー ド 拡張を有効に し た く はあ り ません。 衝突解決の間に、 リ リ ース管理者はフ ァ イ ル タ イ
プの変更を無視す る こ と を選択で き ます。
• フ ァ イ ル header.cc は、main か ら rel へ と ブ ラ ンチ さ れ ます。その後、こ の フ ァ イ ルは main
において headerx.cc に リ ネーム さ れ、 リ リ ース ・ ブ ラ ンチでは headers サブ フ ォ ルダ
に移動 さ れ ま し た。
以下に、関連フ ァ イ ルへの内容以外の変更を衝突解決す る 方法を説明 し た簡単な事例を示 し ま
す。 反映元フ ァ イ ルが反映先フ ァ イ ルにブ ラ ンチ さ れ、 以下に示す よ う に変更が行われた後、
反映元 フ ァ イ ル を反映先 フ ァ イ ルへ と 反映 し ま す。 結果を選択す る ため、 解決オプシ ョ ン に
"at"( 「Theirs を承諾」 ) ま たは "ay"( 「Yours を承諾」 ) を以下の と お り 指定 し ます。
• 反映元が編集 さ れ、 反映先が削除 さ れてい る 場合 : "at" オプシ ョ ンは反映元フ ァ イ ルを反映
先ブ ラ ンチに再追加 し ます。 "ay" オプシ ョ ン では、 フ ァ イ ルが反映先ブ ラ ンチで削除 さ れた
ま ま にな り ます。
• 反映元が削除 さ れ、 反映先が編集 さ れてい る 場合 : "at" オプシ ョ ン では、 フ ァ イ ルが反映先
ブ ラ ンチで削除 さ れます。 "ay" オプシ ョ ン では、 編集 さ れた内容が反映先ブ ラ ンチに保持 さ
れます。
• 反映先フ ァ イ ルがブ ラ ンチ後に移動 さ れた場合 : "at" オプシ ョ ンは反映先フ ァ イ ルを反映元
フ ァ イ ルの名前 と 場所に移動 さ せます。"ay" オプシ ョ ンは反映先フ ァ イ ルの名前 と 場所を保
持 し ます。
• 反映元フ ァ イ ルの フ ァ イ ル タ イ プがブ ラ ンチ後に変更 さ れた場合 : "at" オプシ ョ ンは変更を
反映先に伝播 し ます。 "ay" オプシ ョ ン では、 反映先の フ ァ イ ル タ イ プ を未変更の ま ま に し ま
す。別々の フ ァ イ ル タ イ プが競合 し ない場合は、それ ら を組み合わせ る こ と を選択で き ます。
• 競合す る 方法で フ ァ イ ルが移動ま たは リ ネーム さ れてい る 場合 : パ ス と フ ァ イ ル名を選択す
る よ う 要求 さ れます。 例 ::
Resolving move to //depot/rel/headerx.cc
Filename resolve:
at: //depot/rel/headerx.cc
ay: //depot/rel/headers/header.cc
am: //depot/rel/headers/headerx.cc
デフ ォ ル ト では、 p4 resolve コ マ ン ド はすべての種類の変更、 内容、 お よ び内容以外を解決
し ます。 衝突解決す る 操作の種類を制限す る には、 -A オプシ ョ ン を以下の と お り 指定 し ます。
オプ シ ョ ン
解決 さ れる内容
-Ab
反映元が編集 さ れ、 反映先が削除 さ れ る 反映
-Ad
反映元が削除 さ れ、 反映先が編集 さ れ る 反映
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
67
第 5 章 : 衝突の解決
オプ シ ョ ン
解決 さ れる内容
-At
フ ァ イ ル タ イ プの変更
-Am
リ ネーム と 移動
複数の種類の衝突解決を実行す る には、 オプシ ョ ン を組み合わせます ( 例 : -Abd)。 デフ ォ ル
ト では、 衝突解決は フ ァ イ ルご と に対話形式で実行 さ れ ます。 特定の操作に対 し て同 じ 結果を
指定 し て (例えばすべての移動を伝播す る な ど) 、 入力要求を抑止す る には、 目的のオプシ ョ
ン を コ マ ン ド ラ イ ンに含めて く だ さ い。 例 :p4 resolve -Am -at
衝突解決のためのコ マ ン ド ラ イ ン ・ オプ シ ョ ン
p4 resolve オプシ ョ ン に次のオプシ ョ ン をつけ る と 、 衝突解決を対話形式ではな く 直接実
行で き ます。 p4 resolve コ マ ン ド で こ れ ら のオプシ ョ ン の 1 つを指定す る と 、 フ ァ イ ルは
以下の表に示す よ う に解決 さ れます。
オプ シ ョ ン
説明
-a
自動的に選択 さ れた フ ァ イ ルを受け入れます。
-ay
yours を受け入れます。
-at
theirs を受け入れ ます。 ク ラ イ ア ン ト ・ ワ ー ク スペース内の フ ァ イ ル ・ リ
ビ ジ ョ ン がデ ィ ポか ら の最新 リ ビ ジ ョ ン で上書 き さ れ、 変更を元に戻す こ と
がで き ないため、 こ のオプシ ョ ン を使用す る と き は注意が必要です。
-am
以下の ロ ジ ッ ク に従っ て、 推奨 さ れ る フ ァ イ ル ・ リ ビ ジ ョ ン を受け入れます。
・ theirs が base と 同一であれば、 yours を受け入れます。
・ yours が base と 同一であれば、 theirs を受け入れます。
・ yours と theirs が base と 異な り 、 yours と theirs と の間で衝突が
なければ、 merge フ ァ イ ルを受け入れます。
・ それ以外の場合は、 yours と theirs と の間で衝突があ る ので、 こ の フ ァ
イ ルは解決 さ れずに ス キ ッ プ さ れます。
-af
衝突箇所が残っ ていて も 、 推奨 さ れ る フ ァ イ ル ・ リ ビ ジ ョ ン を受け入れます。
こ のオプシ ョ ン を使用す る 場合、結果の フ ァ イ ルを ワー ク スペース で編集 し 、
すべての差分マーカ を除去す る 必要があ り ます。
-as
以下の ロ ジ ッ ク に従っ て、 推奨 さ れ る フ ァ イ ル ・ リ ビ ジ ョ ン を受け入れます。
・ theirs が base と 同一であれば、 yours を受け入れます。
・ yours が base と 同一であれば、 theirs を受け入れます。
・ それ以外の場合は、 こ の フ ァ イ ルは ス キ ッ プ さ れます。
例 : 衝突す る フ ァ イ ルの特定 リ ビ ジ ョ ン を自動的に受け入れ る
ブルー ノ は、 /doc にあ る文書フ ァ イ ルを編集 し てお り 、 そのい く つかが衝突解決を必要
と す る こ と を知っ てい ます。 ブルー ノ は、 p4 sync doc/*.guide と 入力 し ます。 デ ィ
ポ内のフ ァ イ ル と 衝突す る こ れ ら の フ ァ イ ルすべての衝突解決が ス ケ ジ ュール さ れます。
ブルー ノ は さ ら に p4 resolve -am と 入力 し ます。ス ケ ジ ュール さ れた衝突解決に関す
る マージ ・ フ ァ イ ルがすべて生成 さ れ、 その う ち行セ ッ ト 衝突を含ま ないマージ ・ フ ァ イ
ルが彼の ク ラ イ ア ン ト ・ ワー ク スペース に書 き 込まれます。 ブルー ノ はなお、 他の衝突す
る フ ァ イ ルについて手動で解決を行 う 必要があ り ますが、その作業量はかな り 軽減 さ れま
し た。
68
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 5 章 : 衝突の解決
衝突解決のレポー ト ・ コ マ ン ド
次に示すレ ポー ト ・ コ マ ン ド は、 フ ァ イ ルの衝突解決の際に役立ち ます。
コマン ド
意味
p4 diff [filenames]
ワ ー ク スペース内にあ る フ ァ イ ル ・ リ ビ ジ ョ ン と 最後に同期 し た
リ ビ ジ ョ ン と を比較 し 、 加え ら れた変更を表示 し ます。
p4 diff2 file1 file2
2 つのデ ィ ポ ・ フ ァ イ ルを比較 し ます。 指定フ ァ イ ルには任意の
フ ァ イ ル ・ リ ビ ジ ョ ン を選択で き 、 異な る フ ァ イ ルの リ ビ ジ ョ ン
であ っ て も 構い ません。
デ ィ ポ ・ フ ァ イ ルを比較す る 場合、 PERFORCE サービ ス は独自の比
較プ ロ グ ラ ム を使用 し ます。 P4DIFF 環境変数で設定 さ れた比較
プ ロ グ ラ ムは使用 さ れません。
p4 sync -n [filenames] 指定 さ れた同期の結果を プ レ ビ ュ ー し 、 衝突 し ていて解決が必要
な フ ァ イ ルを リ ス ト 表示 し ます。
p4 resolved
衝突解決 さ れた後に ま だサブ ミ ッ ト さ れて い な い フ ァ イ ル を レ
ポー ト し ます。
フ ァ イルのロ ッ ク
フ ァ イ ル を作業状態に し た後、 その フ ァ イ ル を ロ ッ ク し て、 自分がサブ ミ ッ ト す る 前に他の
ユーザがサブ ミ ッ ト で き ない よ う にす る こ と がで き ます。 フ ァ イ ルを ロ ッ ク す る と 衝突を防止
す る こ と がで き ますが、 フ ァ イ ルの ロ ッ ク 中は他のチーム ・ メ ンバーがその フ ァ イ ルを操作で
き ない可能性があ り ます。
フ ァ イルを ロ ッ ク し て、 多重衝突解決を防止する
フ ァ イ ル ・ ロ ッ ク を し ない限 り 、 衝突解決プ ロ セ ス が終了す る 保証はあ り ません。 次のシナ リ
オは、 こ の問題を具体的に表現 し てい ます。
1.
ブルー ノ が フ ァ イ ルを編集目的で作業状態にす る 。
2.
ゲ イ ルが同 じ フ ァ イ ルを、 自分の ク ラ イ ア ン ト において編集目的で作業状態にす る 。
3.
ブルー ノ と ゲ イ ルは、 フ ァ イ ルの各自の ク ラ イ ア ン ト ・ ワー ク スペース ・ バージ ョ ン を編
集す る 。
4.
ブルー ノ は当該フ ァ イ ルを含むチ ェ ン ジ リ ス ト を サブ ミ ッ ト し 、こ のサブ ミ ッ ト が成功す
る。
5.
ゲ イ ル も 自分の フ ァ イ ル ・ バージ ョ ン を含むチ ェ ン ジ リ ス ト を サブ ミ ッ ト す る が、 その
フ ァ イ ルがデ ィ ポの新 し い フ ァ イ ル と 衝突す る ため、 サブ ミ ッ ト は失敗す る 。
6.
ゲ イ ルが衝突解決を始め る 。
7.
ブルー ノ が同 じ フ ァ イ ルの新 し いバージ ョ ン を編集 し 、 サブ ミ ッ ト す る 。
8.
ゲ イ ルが衝突解決を終え、 サブ ミ ッ ト し よ う と す る 。 サブ ミ ッ ト は失敗 し 、 今度はブルー
ノ の最新フ ァ イ ル と マージ し なければな ら ない。
<等々>
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
69
第 5 章 : 衝突の解決
こ の よ う な問題を回避す る ため、 フ ァ イ ルを ロ ッ ク す る こ と がで き ます。 手順は次の と お り で
す。
1.
衝突解決を ス ケ ジ ュ ールす る 前に、 フ ァ イ ルを ロ ッ ク し ます。
2.
フ ァ イ ルを同期 さ せます (衝突解決を ス ケ ジ ュ ールす る ため)。
3.
フ ァ イ ルの衝突を解決 し ます。
4.
フ ァ イ ルをサブ ミ ッ ト し ます。
5.
チ ェ ン ジ リ ス ト のサブ ミ ッ ト が成功す る と 、 PERFORCE は自動的に フ ァ イ ルの ロ ッ ク を解
除 し ます。
UNIX において作業状態にあ り ロ ッ ク さ れてい る フ ァ イ ルを リ ス ト す る には、 次の コ マ ン ド を
発行 し ます。
p4 opened | grep "*locked*"
多重チ ェ ッ ク アウ ト を防止する
一度に 1 人のユーザだけが フ ァ イ ルを操作で き る よ う にす る には、 フ ァ イ ル タ イ プ修飾子 +l
( 排他的作業状態 ) を使用 し ます。 例を示 し ます。
p4 reopen -t binary+l file
排他的 ロ ッ ク に よ り 同時並行開発がで き な く な り ますが、 マージや衝突解決をす る 意味がない
一部の フ ァ イ ル タ イ プ (通常はバ イ ナ リ ・ フ ァ イ ル) については、 複数のユーザが同時に フ ァ
イ ルの操作を行わない よ う にす る こ と で衝突を回避で き ます。
PERFORCE 管理者は、p4 typemap コ マンド を 使用し て、特定のタ イ プ( 例えば、//depot/.../*.gif
と し てすべての .gif フ ァ イ ルを 指定) を持つすべてのフ ァ イ ルについて、 一度に 1 人のユーザだ
けが作業状態にでき る よ う に設定する こ と ができ ま す。 詳し く は、『 PERFORCE コ マンド ・ リ フ ァ レ
ンス 』 をご覧く ださ い。
p4 lock と +l と の違いは次の と お り です。 p4 lock の場合は誰で も フ ァ イ ルを編集目的で
作業状態にす る こ と がで き ますが、 フ ァ イ ルを ロ ッ ク し た当人のみがその フ ァ イ ルを サブ ミ ッ
ト で き ます。 こ れに対 し 、 フ ァ イ ル タ イ プ +l の フ ァ イ ルは、 一度に複数のユーザが作業状態
にす る こ と はで き ません。
70
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
コ ー ド ラ イ ン、 ブ ラ ン チ、 および
ス ト リ ーム
第6章
こ の章では、 デ ィ ポ内の フ ァ イ ルの集合を保守す る ために必要な タ ス ク について説明 し ます。
具体的には、 次の よ う な問題に対応 し ます。
• デ ィ ポ ・ デ ィ レ ク ト リ 構造お よ び リ ポジ ト リ の最適な編成方法
• コ ー ド ラ イ ンお よ びプ ロ ジ ェ ク ト ・ デ ィ レ ク ト リ におけ る 、 フ ァ イ ル と フ ァ イ ル変更の移動
• ラ ベル ま たはチ ェ ン ジ リ ス ト を使用 し た、 フ ァ イ ル ・ セ ッ ト の特定
コ ー ド ラ イ ン管理を よ り 簡単に行 う ために、多数のベス ト プ ラ ク テ ィ ス と 自動制御が一体化 さ
れた PERFORCE の機能、 ス ト リ ーム を使用す る こ と がで き ます。 本章には、 PERFORCE コ マ ン ド
ラ イ ン ・ ク ラ イ ア ン ト を使用 し て ス ト リ ーム を管理す る 方法を説明す る 節があ り ます。 基本情
報については、 『PERFORCE 入門』 を参照 し て く だ さ い。 P4V (PERFORCE ビ ジ ュ アル ・ ク ラ イ ア
ン ト ) におけ る ス ト リ ームの使用に関 し て詳 し く は、 オ ン ラ イ ン ・ ヘルプ を ご覧 く だ さ い。
こ の章では ソ フ ト ウ ェ ア ・ コ ー ド ベース の保守に焦点を あ て てい ますが、 記述す る タ ス ク の多
く は、 Web サ イ ト な ど他の フ ァ イ ル集合の管理に も 関連 し ます。 最善の実装方法については、
PERFORCE ウ ェ ブサ イ ト にあ る 報告書を ご覧 く だ さ い。
基本用語
以降のセ ク シ ョ ン を理解 し やす く す る ため、 PERFORCE での関連用語の定義を次に示 し ます。
用語
定義
ブ ラ ンチ
(名詞) 新規追加ではな く コ ピーに よ り 作成 さ れた、 関連す る フ ァ イ ル
のセ ッ ト 。 関連す る フ ァ イ ルの集合は、 多 く の場合 コ ー ド ラ イ ン と
呼ばれます。
(動詞) ブ ラ ンチを作成する こ と 。
反映
フ ァ イ ルの祖先を保存 し て既存の フ ァ イ ルか ら 新 し い フ ァ イ ルを作成
す る こ と (ブ ラ ンチ作成) 、 ま たは 1 つの フ ァ イ ル ・ セ ッ ト か ら 別の
フ ァ イ ル ・ セ ッ ト に変更を伝達する こ と (マージ処理)。
マージ
通常 P4Merge な ど のマージ ・ ツールを使用 し て、 2 つの衝突 し てい る
フ ァ イ ル ・ リ ビ ジ ョ ンの内容を単一の フ ァ イ ルに結合する プ ロ セ ス。
衝突解決
2 つの フ ァ イ ル ・ リ ビ ジ ョ ン間の差分を調整す る ために使用す る プ ロ
セ ス。 衝突解決の方法 と し て、 サブ ミ ッ ト 対象の フ ァ イ ルを選択す る
か、 衝突 し てい る フ ァ イ ルの内容を マージする か を選択で き ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
71
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
デ ィ ポの編成
デ ィ ポは、 最上位のデ ィ レ ク ト リ と 考え ら れ ます。 次に示す要素を考慮 し てデ ィ ポの編成方法
を決定 し て く だ さ い。
• 内容の タ イ プ : 自分のプ ロ ジ ェ ク ト お よ びそれ ら の相互関係の性質に基づいて、 デ ィ ポ ま た
は本流 と な る デ ィ レ ク ト リ を作成 し ます (例えば、 別々の ス ケ ジ ュ ールで開発 さ れた複数の
コ ン ポーネ ン ト を含むアプ リ ケーシ ョ ン)。
• リ リ ース要件 : 1 つのプ ロ ジ ェ ク ト 内に、リ リ ース ご と にブ ラ ンチを作成 し 、ブ ラ ンチ間の変
更を反映 さ せて、 機能お よ びバグ修正の導入を制御 し ます。
• ビル ド の管理 : ラ ベル と チ ェ ン ジ リ ス ト を使用 し て、 ビル ド さ れた フ ァ イ ル ・ リ ビ ジ ョ ン を
制御 し ます。 ク ラ イ ア ン ト 仕様お よ びビ ュ ーを使用 し て、 ビル ド 範囲が明確にな る よ う に し
ます。
基本的かつ論理的にデ ィ ポ を編成す る 方法は、 プ ロ ジ ェ ク ト ご と にサブデ ィ レ ク ト リ ( コ ー ド
ラ イ ン) を作成す る こ と です。 例えば、 自分の会社が Jam プ ロ ジ ェ ク ト に関わ っ てい る 場合、
1 つの コ ー ド ラ イ ン を現在開発中の リ リ ース専用に し 、 も う 1 つの コ ー ド ラ イ ン を既に リ リ ー
ス済の ソ フ ト ウ ェ ア専用に し 、 さ ら に も う 1 つを会社の Web サ イ ト 専用にす る こ と が考え ら
れます。 開発者は各自の ク ラ イ ア ン ト ・ ビ ュ ーを変更 し て、 フ ァ イ ルを自分のプ ロ ジ ェ ク ト に
マ ッ ピ ン グ で き 、 関係のない他のプ ロ ジ ェ ク ト を除外で き ます。 例えば、 アールが Web サ イ
ト の保守を担当 し てい る 場合、 彼の ク ラ イ ア ン ト ・ ビ ュ ーは次の よ う にな り ます。
//depot/www/dev/...
//depot/www/review/...
//depot/www/live/...
//earl-web-catalpa/www/development/...
//earl-web-catalpa/www/review/...
//earl-web-catalpa/www/live/...
そ し て、 Jam に携わ っ てい る ゲ イ ルは自分の ク ラ イ ア ン ト ・ ビ ュ ーを次の よ う に設定 し ます。
//depot/dev/main/jam/... //gale-jam-oak/jam/...
プ ロ ジ ェ ク ト ま たは コ ー ド ラ イ ン の用途に従っ てデ ィ ポ を編成す る こ と がで き ます。 例えば、
プ ロ ジ ェ ク ト に従っ てデ ィ ポ を編成す る には、 次の よ う な構造を使用で き ます。
//depot/project1/main/
//depot/project1/release 1.0/
//depot/project1/release 1.1/
一方、各 コ ー ド ラ イ ン の用途に従っ てデ ィ ポ を編成す る には、次の よ う な構造を使用で き ます。
//depot/main/project1/
//depot/main/project2/
//depot/release1.0/project1/
//depot/release1.0/project2/
//depot/release2.0/project1/
//depot/release2.0/project2/
他には、 各プ ロ ジ ェ ク ト に対 し て 1 つずつデ ィ ポ を作成す る 方法があ り ます。 ブ ラ ンチ作成お
よ び反映を可能な限 り 単純化で き る 構造を選択 し 、操作の履歴が理解 し やすい よ う に し て く だ
さ い。
コ ー ド ラ イ ンにデー タ を読み込む
履歴を含ま ない コ ー ド ラ イ ン を作成 し てい る 場合、 p4 add コ マ ン ド を使用 し て フ ァ イ ルを追
加 し た後、 p4 copy を使用 し てブ ラ ンチを作成 し ます。 例えば、 前の節で示 し た メ イ ン ラ イ
ン構造を作成す る には、 以下の手順で操作 し ます。
72
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
1.
ワ ー ク スペース に メ イ ン ラ イ ン ・ フ ァ イ ル用の ロ ーカル ・ フ ォ ルダ を作成 し ます。 例 :
mkdir c:\p4clients\myworkspace\depot\main\
2.
新たに作成 さ れた フ ォ ルダに Project1 と Project2 の フ ァ イ ルを コ ピー し ます。
3.
フ ァ イ ルをデ ィ ポに追加 し ます。
p4 add //depot/main/project1/...
p4 add //depot/main/project2/...
p4 submit
4.
リ リ ース ・ ブ ラ ンチを作成 し ます。
p4 copy //depot/main/project1/... //depot/release1.0/project1/
p4 copy //depot/main/project2/... //depot/release1.0/project2/
p4 submit
こ れで、 p4 copy、 p4 merge、 p4 integrate の各 コ マ ン ド を使用 し て、 メ イ ン ・ ブ ラ ン
チ と リ リ ース ・ ブ ラ ンチの間で変更を伝播で き る よ う にな り ま し た。 ( ま た、 履歴上の関連が
反映元 と 反映先 と の間にあ り 、 それを維持す る 必要があ る 場合は、 integrate コ マ ン ド を使用 し
て コ ー ド ラ イ ン に別の コ ー ド ラ イ ン か ら デー タ を読み込む こ と も で き ます。 )
簡易的な方法 : p4 populate
反映先 コ ー ド ラ イ ン が完全に空であ る (削除済みの フ ァ イ ル も 含め、 フ ァ イ ルが存在 し ない)
場合は、 フ ァ イ ルを既存の反映元 コ ー ド ラ イ ン か ら コ ピー し 、 関連す る チ ェ ン ジ リ ス ト を サブ
ミ ッ ト す る 処理を自動化 し た コ マ ン ド が提供 さ れてい ます。
例えば、以下の 2 つの コ マ ン ド を使っ て release1.0 ブ ラ ンチにデー タ を読み込む代わ り に、
p4 copy //depot/main/project1/... //depot/release1.0/project1/
p4 submit
p4 populate コ マ ン ド を使用 し てブ ラ ンチにデー タ を読み込む こ と がで き ます。
p4 populate //depot/main/project1/... //depot/release1.0/project1/
コ ー ド ラ イ ン を ブ ラ ン チする
ブ ラ ンチ機能は、 関連す る フ ァ イ ル ・ セ ッ ト 間の関係を保守す る 方法です。 ブ ラ ンチは、 それ
自身の祖先や子孫か ら 独立 し て発展 さ せ る こ と がで き 、必要に応 じ て 1 つのブ ラ ンチか ら 別の
ブ ラ ン チに変更を伝達 (反映) す る こ と がで き ま す。 PERFORCE の イ ン タ ー ・ フ ァ イ ル ・ ブ ラ
ンチ ™ 機能に よ り 、 リ ソ ース の消費を最小限に留めなが ら 、 フ ァ イ ル と その祖先 と の関係を
保持 し ます。
ブ ラ ンチを作成す る には、 p4 integrate コ マ ン ド を使用 し ます。 p4 integrate コ マ ン ド
は既存の フ ァ イ ル・ セ ッ ト 間での変更の伝達に も 使用 さ れます。変更の反映に関 し て詳 し く は、
76 ページの 「変更の反映」 を参照 し て く だ さ い。
ブ ラ ン チ を作成する タ イ ミ ング
2 つの フ ァ イ ル ・ セ ッ ト において、 サブ ミ ッ ト の方針が異な る 場合、 ま たは別々に展開 さ せ る
必要があ る 場合には、 ブ ラ ンチを作成 し ます。 例を示 し ます。
• 問題 : 開発グループの メ ンバーは、 コ ー ド の コ ンパ イ ルの有無に関係な く 、 コ ー ド が変更 さ
れ る たびにその コ ー ド をデ ィ ポにサブ ミ ッ ト し たい。 し か し 、 リ リ ース ・ エ ン ジニ アは、 デ
バ ッ グ、 検証お よ び承認が終わ る ま で、 コ ー ド を サブ ミ ッ ト し た く ない。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
73
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
解決策 : 開発 コ ー ド ラ イ ン を ブ ラ ンチ し て、 リ リ ース ・ ブ ラ ンチを作成 し ます。 開発 コ ー ド
ラ イ ン で準備がで き た ら 、 リ リ ー ス ・ コ ー ド ラ イ ン に反映 し ま す。 パ ッ チやバグ修正が リ
リ ース ・ コ ー ド で行われ、 開発 コ ー ド に逆に反映 さ れ ます。
• 問題 : あ る 会社で、 新 し いマルチ ・ プ ラ ッ ト フ ォーム ・ プ リ ン タ 用の ド ラ イ バを書いてい ま
す。 彼 ら は、 UNIX デバ イ ス ・ ド ラ イ バを書 き 終え、 今後は UNIX コ ー ド を基に し て、 OS X
ド ラ イ バを書 く 作業を始め よ う と し てい ます。
解決策 : 既存の UNIX コ ー ド か ら OS X ブ ラ ンチを作成 し ます。こ れ ら の コ ー ド ラ イ ンは別々
に展開で き ます。 一方の コ ー ド ラ イ ン でバグが見つか っ た場合、 バグ修正を他方の コ ー ド ラ
イ ン に伝達す る こ と がで き ます。
基本戦略の 1 つは、 //depot/main/ で コ ー ド を開発す る 一方で、 リ リ ース用のブ ラ ンチを作
成す る こ と です (例えば、 //depot/rel1.1/) 。 リ リ ース固有のバグ修正を リ リ ース ・ ブ ラ
ンチで行い、 必要に応 じ て、 //depot/main/ コ ー ド ラ イ ンに逆に反映 さ せます。
ブ ラ ン チの作成
ブ ラ ン チ を作成す る には、 p4 integrate コ マ ン ド を 使用 し ま す。 ブ ラ ン チ を作成す る と 、
PERFORCE はブ ラ ンチ さ れた フ ァ イ ル と それ ら の祖先 と の関係を記録 し ます。
ブ ラ ンチは、 フ ァ イ ル指定ま たはブ ラ ンチ仕様を使用 し て作成で き ます。 単純なブ ラ ンチの場
合は、 フ ァ イ ル指定を使用 し ます。 複雑な フ ァ イ ル ・ セ ッ ト 構成に基づ く ブ ラ ンチの場合、 ま
たはブ ラ ンチの定義方法を記録 し てお き たい場合は、 ブ ラ ンチ仕様を使用 し ます。 ブ ラ ンチ仕
様は、 その後の反映処理に も 使用で き ます。 ま たブ ラ ンチ仕様は、 コ ー ド ラ イ ン の方針の記録
と し て も 役立て る こ と がで き ます。
ブ ラ ン チ仕様を使用する
反映元フ ァ イ ル ・ セ ッ ト を反映先フ ァ イ ルにマ ッ ピ ン グす る ために、 ブ ラ ンチ ・ マ ッ ピ ン グ を
作成 し 、 こ れを p4 integrate の引数 と し て使用す る こ と がで き ます。 ブ ラ ンチ ・ マ ッ ピ ン
グ を作成す る には、 p4 branch branchname コ マ ン ド を発行 し 、 対象 と す る マ ッ ピ ン グ を
View: フ ィ ール ド に指定 し ま す。 こ の と き 反映元の フ ァ イ ルを左側、 反映先の フ ァ イ ルを右
側に示 し ます。 反映先フ ァ イ ル と デ ィ レ ク ト リ が ク ラ イ ア ン ト ・ ビ ュ ーにあ る こ と を確認 し て
く だ さ い。 ブ ラ ンチ ・ マ ッ ピ ン グ を作成ま たは変更 し て も 、 デ ィ ポや ク ラ イ ア ン ト ・ ワー ク ス
ペース にあ る フ ァ イ ルには一切影響 し ません。 ブ ラ ンチ ・ マ ッ ピ ン グは、 反映元フ ァ イ ルを反
映先フ ァ イ ルにマ ッ ピ ン グす る だけです。
ブ ラ ンチ・マ ッ ピ ン グ を使用 し てブ ラ ンチを作成す る には、p4 integrate -b branchname
コ マ ン ド を発行 し ます。その後、p4 submit を使用 し て反映先の フ ァ イ ルをデ ィ ポにサブ ミ ッ
ト し ます。
ブ ラ ン チ ・ マ ッ ピ ン グ には、 ク ラ イ ア ン ト ・ ビ ュ ー と 同様に、 複数のマ ッ ピ ン グや排他的な
マ ッ ピ ン グ を含め る こ と がで き ます。 例えば、 次に示すブ ラ ンチ仕様に よ り 、 テ ス ト 用ス ク リ
プ ト を除 く Jam 1.0 ソ ース コ ー ド が メ イ ン の コ ー ド ラ イ ン か ら ブ ラ ンチ作成 さ れ ます。
Branch:
jamgraph-1.0-dev2release
View:
//depot/dev/main/jamgraph/...
//depot/release/jamgraph/1.0/...
-//depot/dev/main/jamgraph/test/... //depot/release/jamgraph/1.0/test/...
//depot/dev/main/bin/glut32.dll //depot/release/jamgraph/1.0/bin/glut32.dll
上記のブ ラ ンチ ・ マ ッ ピ ン グ を使用 し てブ ラ ンチを作成す る には、 次の コ マ ン ド を発行 し 、
p4 integrate -b jamgraph-1.0-dev2release
p4 submit を使用 し て変更をサブ ミ ッ ト し ます。
ブ ラ ン チ ・ マ ッ ピ ン グ を削除す る には、 p4 branch -d branchname コ マ ン ド を発行 し ま
す。 ブ ラ ンチ ・ マ ッ ピ ン グ を削除 し て も 、 既存の フ ァ イ ルやブ ラ ンチには影響 し ません。
74
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
ワ ー ク スペース ・ ビ ュ ー と 同様に、 ブ ラ ンチ ・ ビ ュ ーの フ ァ イ ル名ま たはパ ス に空白が含まれ
てい る 場合は、 必ずパ ス を引用符で囲んで く だ さ い。
//depot/dev/main/jamgraph/... "//depot/release/Jamgraph 1.0/..."
フ ァ イル指定を使用する
フ ァ イ ル指定を使用 し てブ ラ ンチを作成す る には、反映元フ ァ イ ル と 反映先フ ァ イ ルを指定 し
て p4 integrate コ マ ン ド を発行 し ます。 反映先フ ァ イ ルは ク ラ イ ア ン ト ・ ビ ュ ーに存在す
る 必要があ り ます。 反映元フ ァ イ ルが ク ラ イ ア ン ト ・ ビ ュ ーに存在 し ない場合、 デ ィ ポ構文を
使用 し て指定 し て く だ さ い。
フ ァ イ ル指定を使用 し てブ ラ ンチを作成す る には、 以下の手順で操作 し ます。
1.
ブ ラ ンチ さ れ る フ ァ イ ルを、 デ ィ ポ内お よ び ク ラ イ ア ン ト ・ ワー ク スペース内の ど こ に置
き たいか を決め ます。 対応す る マ ッ ピ ン グ を自分の ク ラ イ ア ン ト ・ ビ ュ ーに追加 し ます。
2.
p4 integrate source_files target_files コ マ ン ド を発行 し ます。
3.
ブ ラ ンチ さ れた フ ァ イ ルを含むチ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます。反映先フ ァ イ ルを含
むブ ラ ンチがデ ィ ポに作成 さ れます。
例 : フ ァ イ ル指定を使用 し てブ ラ ンチを作成す る
Jam のバージ ョ ン 2.2 がち ょ う ど リ リ ース さ れたばか り で、 バージ ョ ン 3.0 の作業が始ま ろ
う と し ています。 バージ ョ ン 2.2 を保守作業のために //depot/release/jam/2.2/...
にブ ラ ンチする必要があ り ます。
ブルー ノ は p4 client を使っ て、 次のマ ッ ピ ン グ を自分の ク ラ イ ア ン ト ・ ビ ュ ーに追加
し ます。
//depot/release/jam/2.2/... //bruno_ws/release/jam/2.2/...
ブルー ノ は次の コ マ ン ド を発行 し てブ ラ ンチを作成 し ます。
p4 integrate //depot/dev/main/jam/...
//bruno_ws/release/jam/2.2/...
最後に、 ブルー ノ は p4 submit コ マ ン ド を発行 し ま す。 こ れで新 し く ブ ラ ン チ さ れた
フ ァ イ ルがデ ィ ポに追加 さ れます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
75
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
変更の反映
ブラ ン チを 作成し た ら 、 一方から 他方に変更を 伝達する 必要があ る かも し れま せん。 例え ば、
リ リ ース ・ ブラ ン チでバグ を 修正し た ら 、 そ の修正を メ イ ン のコ ード ラ イ ン に取り 入れた い
と 考え る でし ょ う 。 選択し た 変更を ブラ ン チさ れた フ ァ イ ル間で伝達する には、 次のと おり
p4 integrate、 p4 merge、 ま たは p4 copy コ マ ン ド を使用 し ます。
1.
p4 integrate フ ァ イ ルの衝突解決を ス ケ ジ ュ ール し ます。 (多 く の場合、 p4 merge ま
たは p4 copy も 同様に使用で き ます。)
2.
p4 resolve コ マ ン ド を発行 し 、 変更を反映元フ ァ イ ルか ら 反映先フ ァ イ ルに コ ピー し
ます。
個々の変更を コ ピーす る には、 マージ ・ フ ァ イ ルを編集す る か、 マージ ・ プ ロ グ ラ ム を使
用 し ます。 変更が ク ラ イ ア ン ト ・ ワ ー ク スペース内の反映先フ ァ イ ルに加え ら れ ます。
3.
衝突解決 さ れた フ ァ イ ルを含むチ ェ ン ジ リ ス ト を サブ ミ ッ ト し ます。
例 : ブ ラ ンチ ・ フ ァ イ ル間で変更を伝達す る
ブルー ノ は、 Jam プ ロ ジ ェ ク ト の リ リ ース 2.2 ブ ラ ンチにおけ る バグ を修正 し たので、 バ
グ修正を メ イ ンの コー ド ラ イ ンに反映 さ せ る必要があ り ます。 ブルー ノ は自分のホーム ・
デ ィ レ ク ト リ か ら 次の よ う に入力 し ます。
p4 integrate //depot/release/jam/2.2/src/Jambase
//depot/dev/main/jam/Jambase
す る と 次の よ う な メ ッ セージが表示 さ れます。
//depot/dev/main/jam/Jambase#134 - integrate from
//depot/release/jam/2.2/src/Jambase#9
フ ァ イ ルに対 し て、 衝突解決が ス ケ ジ ュール さ れま し た。 ブルー ノ が p4 resolve と 入
力す る と 、 次の標準マージ ・ ダ イ ア ロ グが画面に表示 さ れます。
//depot/dev/main/jam/Jambase - merging
//depot/release/jam/2.2/src/Jambase#9
Diff chunks: 0 yours + 1 theirs + 0 both + 0 conflicting
Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) [at]:
ブルー ノ はフ ァ イ ル衝突を解決 し ます。 こ れを行 う と 、 結果フ ァ イ ルに よ っ てブルー ノ の
ワー ク スペース のフ ァ イ ルは上書 き さ れます。フ ァ イ ルを含むチ ェ ン ジ リ ス ト をデ ィ ポに
サブ ミ ッ ト し なければな り ません。
p4 integrate、 p4 merge、 ま たは p4 copy コ マ ン ド を実行す る には、 反映先フ ァ イ ルの
PERFORCE 書 き 込み権限 (write) と 、 反映元フ ァ イ ルの読み取 り 権限 (read) が必要です。
(PERFORCE の権限については、 『シ ス テ ム管理者ガ イ ド 』 を参照 し て く だ さ い。)
デフ ォ ル ト では、p4 integrate に よ り ク ラ イ ア ン ト ・ ワー ク スペース に新規作成 さ れた フ ァ
イ ルは、 最初のサブ ミ ッ ト に先立っ て編集す る こ と はで き ません。 新たに反映 さ れた フ ァ イ ル
を サブ ミ ッ ト 前に編集す る には、 衝突を解決 し た後、 p4 edit コ マ ン ド を発行 し ます。
反映対象の リ ビ ジ ョ ン の範囲に削除済 リ ビ ジ ョ ン が含 ま れてい る 場合 (例えば、 フ ァ イ ルが
デ ィ ポか ら 削除 さ れた後に再度追加 さ れた場合) 、 削除済 リ ビ ジ ョ ン の反映方法を、 -D オプ
シ ョ ンに よ り 指定で き ます。 詳 し く は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を参照 し て く だ
さ い。
76
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
ブ ラ ン チ ・ マ ッ ピ ングによ る反映
1 つの フ ァ イ ル ・ セ ッ ト お よ びデ ィ レ ク ト リ か ら 変更を反映 さ せ る には、 p4 integrate コ
マ ン ド の発行時にブ ラ ンチ ・ マ ッ ピ ン グ を使用す る こ と がで き ます。 ブ ラ ンチ ・ マ ッ ピ ン グ を
使用 し た p4 integrate コ マ ン ド の基本構文は以下の と お り です。
p4 integrate -b branchname [tofiles]
反映先フ ァ イ ルは、 ブ ラ ンチ ・ ビ ュ ー と ク ラ イ ア ン ト ・ ビ ュ ーの両方でマ ッ ピ ン グ さ れてい る
必要 が あ り ま す。 反映元 フ ァ イ ルは、 ク ラ イ ア ン ト ・ ビ ュ ー内に あ る 必要は あ り ま せ ん。
tofiles 引数を省略す る と 、 ブ ラ ンチ内にあ る すべての フ ァ イ ルが操作対象 と な り ます。
ブ ラ ンチ ・ マ ッ ピ ン グ を使用 し て反映操作を行 う 場合、 逆の方向に反映す る には -r オプシ ョ
ン を指定 し ます。 こ のオプシ ョ ンに よ り 、 2 つのブ ラ ンチ間で ど ち ら かの方向に反映操作を行
う こ と がで き ます。 それぞれの方向についてブ ラ ンチ ・ マ ッ ピ ン グ を作成す る 必要はあ り ませ
ん。
例 : ブ ラ ンチ内にあ る単一のフ ァ イ ルに変更を反映す る
メ イ ンの Jam コー ド ラ イ ンに機能が 1 つ追加 さ れま し た。 ブルー ノ は こ の機能を リ リ ー
ス 1.0 に伝達 し たい と 考え ます。 そ こ で、 彼は次の よ う に入力 し ます。
p4 integrate -b jamgraph-1.0-dev2release *.c
す る と 、 次のテ キ ス ト が表示 さ れます。
//depot/release/jam/1.0/src/command.c#10 - integrate from
//depot/dev/main/jam/command.c#97
フ ァ イ ルに対す る衝突解決が ス ケ ジ ュール さ れま し た。 ブルー ノ が p4 resolve と 入力
す る と 、 次の標準マージ ・ ダ イ ア ロ グが画面に表示 さ れます。
//depot/release/jam/1.0/src/command.c - merging
//depot/dev/main/jam/command.c#97
Diff chunks: 0 yours + 1 theirs + 0 both + 0 conflicting
Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) [at]:
彼はフ ァ イ ル衝突を解決 し ます。 こ れを行 う と 、 ブ ラ ンチ さ れた ク ラ イ ア ン ト ・ ワー ク ス
ペース内のフ ァ イ ルが結果フ ァ イ ルに よ っ て上書 き さ れます。こ れを さ ら にデ ィ ポにサブ
ミ ッ ト し なければな り ません。
関連性のない フ ァ イル間での反映
反映先 フ ァ イ ルが反映元 フ ァ イ ルか ら ブ ラ ン チ さ れて い な い場合、 base (共通の祖先) リ ビ
ジ ョ ンが存在 し ません。 PERFORCE は反映元フ ァ イ ルの最初の (最 も 最近追加 さ れた) リ ビ ジ ョ
ン をベース ・ リ ビ ジ ョ ン と し て使用 し ます。 こ の操作を、 ベース のないマージ と 呼びます。
特定のフ ァ イル ・ リ ビ ジ ョ ン を反映 さ せる
デフ ォ ル ト では、 integrate コ マ ン ド は最後に反映 さ れた反映元 リ ビ ジ ョ ン以降のすべての
リ ビ ジ ョ ン を、 反映先フ ァ イ ルに反映 し ます。 反映対象の リ ビ ジ ョ ン範囲は、 反映操作時に指
定す る こ と がで き ます。 それに よ り 編集中にマージ ・ フ ァ イ ルか ら 不要な リ ビ ジ ョ ン を手動で
削除す る 必要がな く な り ます。 p4 integrate を使用す る 場合、 base フ ァ イ ルは最 も 近い共
通の祖先 と な り ます。 p4 merge を使用す る 場合、 base フ ァ イ ルは共通の編集が最 も 多い リ
ビ ジ ョ ン にな り ます。
例 : 特定のフ ァ イ ル ・ リ ビ ジ ョ ン を反映 さ せ る
ブルー ノ は メ イ ンの コ ー ド ラ イ ンで、 //depot/dev/main/jam/scan.c に対 し て 2 つ
のバグ を修正 し ま し た。アールはその変更を リ リ ース 1.0 ブ ラ ンチに反映 さ せたい と 考え
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
77
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
てい ます。 scan.c には種々の修正がサブ ミ ッ ト さ れ、 既に 20 リ ビ ジ ョ ン ま で進んでい
ますが、 アールは自分が必要 と し てい る バグ修正がチ ェ ン ジ リ ス ト 30 でサブ ミ ッ ト さ れ
た フ ァ イ ル ・ リ ビ ジ ョ ンで適用 さ れた こ と を知っ てい ます。 そ こ でアールは次の よ う に入
力 し ます。
p4 integrate -b jamgraph-1.0-dev2release
//depot/release/jam/1.0/scan.c@30,@30
反映先フ ァ イ ル (//depot/release/jam/1.0/scan.c) が引数 と し て与え ら れてい ますが、
フ ァ イ ル ・ リ ビ ジ ョ ンの指定は反映元に適用 さ れます。 アールが p4 resolve を実行す
る と 、 ブルー ノ のフ ァ イ ルの う ち、 チ ェ ン ジ リ ス ト 30 でサブ ミ ッ ト さ れた フ ァ イ ル ・ リ
ビ ジ ョ ンだけが衝突解決のために ス ケ ジ ュ ール さ れます。 すなわち、 アールはブルー ノ が
チ ェ ン ジ リ ス ト 30 で scan.c に加えた変更のみを見 る こ と にな り ます。 チ ェ ン ジ リ ス ト
29 においてデ ィ ポ内に存在 し た フ ァ イ ル ・ リ ビ ジ ョ ンが base フ ァ イ ル と し て使用 さ れ
ます。
フ ァ イルを再反映 さ せ、 衝突を再解決する
反映元フ ァ イ ルのあ る リ ビ ジ ョ ンが反映先フ ァ イ ルに反映 さ れ る と 、 その リ ビ ジ ョ ンは、 同 じ
反映先フ ァ イ ルに対す る 次回以降の反映時には ス キ ッ プ さ れ ます。既に反映 さ れた フ ァ イ ルを
強制的に反映 さ せたい と き は、 p4 integrate コ マ ン ド に -f オプシ ョ ン を指定 し ます。
同様に、 衝突解決 さ れ た が (ま だ) サ ブ ミ ッ ト さ れ て い な い反映先 フ ァ イ ルの場合は、 p4
resolve コ マ ン ド に -f オプシ ョ ン を指定す る こ と に よ り 衝突の再解決がで き ます。 衝突の
再解決を行っ た場合、 yours の フ ァ イ ルが新 し い ク ラ イ ア ン ト ・ フ ァ イ ル、 すなわち、 前の
解決結果 と な り ます。
反映に関する レポー ト ・ コ マ ン ド
次に示すレ ポー ト ・ コ マ ン ド に よ り 、 ブ ラ ンチお よ び統合の操作対象 と な る フ ァ イ ルの状態に
関 し て有用な情報が得 ら れ ます。 プ レ ビ ュ ー ・ オプシ ョ ン (-n) は、 レ ポー ト 目的で使用で き
ます。
表示情報
使用コ マ ン ド
反映の結果をプ レ ビ ュ ー
p4 integrate -n [filepatterns]
衝突解決が ス ケ ジ ュ ール さ れた フ ァ イ ル
p4 resolve -n [filepatterns]
衝突解決 さ れたが、 ま だサブ ミ ッ ト さ れていない フ ァ
イル
p4 resolved
ブ ラ ンチ仕様の リ ス ト
p4 branches
指定 さ れた フ ァ イ ルの反映履歴
p4 integrated filepatterns
指定 さ れ た フ ァ イ ルの リ ビ ジ ョ ン 履歴 (指定 さ れ た p4 filelog -i [filepatterns]
フ ァ イ ルのブ ラ ンチ元のフ ァ イ ルの反映履歴を含む)
ス ト リ ーム
PERFORCE の ス ト リ ーム は 「属性を持つブ ラ ンチ」 であ り 、 ブ ラ ンチ戦略を反映 し た階層を構
成す る コ ン テナです。 ス ト リ ームは、 変動的なブ ラ ンチの変更を マージ し て親ブ ラ ンチの最新
状態 と の同期を保ち、昇格 さ せ る のに十分な程度ま で安定 し た と き に作業内容を親に コ ピーす
る と い う 、 メ イ ン ラ イ ン ・ ブ ラ ンチ ・ モデルを実装す る う えで理想的です。 ス ト リ ーム を利用
す る と PERFORCE が関連 ワー ク スペース の ビ ュ ーを生成で き る ため、 ユーザが手動で ビ ュ ーを
更新 し て変更を ブ ラ ンチ構造に反映 さ せ る 必要がな く な り ます。
ス ト リ ーム で作業す る には、 以下の操作を実行 し ます。
1.
78
ス ト リ ーム ・ デ ィ ポ を作成す る
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
2.
メ イ ン ス ト リ ーム を作成 し 、 デー タ を取 り 込む
3.
開発ス ト リ ーム と リ リ ース ・ ス ト リ ーム を ブ ラ ンチす る
4.
変更を マージ し て コ ピーす る
ス ト リ ーム を管理す る には、 ( 主に ) 以下の コ マ ン ド を使用 し ます。
• p4 stream
• p4 streams
• p4 merge
• p4 copy
• p4 resolve
• p4 cstat
• p4 istat
ス ト リ ーム引数を受け入れ る その他の コ マ ン ド を以下に示 し ます。
• p4 branch
• p4 client
• p4 clients
• p4 diff2
• p4 dirs
• p4 integrate
• p4 interchanges
コ マ ン ド 構文 と オプシ ョ ンに関 し て詳 し く は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を参照す
る か、p4 help コマンド名 を実行 し て く だ さ い。概要を見 る には、p4 help streamintro
コ マ ン ド を実行 し て く だ さ い。 以下のセ ク シ ョ ン では、 ス ト リ ーム関連の タ ス ク について さ ら
に詳 し く 説明 し ます。
ス ト リ ームの タ イ プ
ス ト リ ーム の想定 さ れ る 用法、 安定性、 お よ び変更フ ロ ーに従っ て、 ス ト リ ーム ・ タ イ プ を割
り 当て ます。 ス ト リ ーム の タ イ プ を以下に示 し ます。
ス ト リ ームの タ イ プ
安定性
想定 さ れる変更フ ロー
マージ
コ ピー
メ インライン
方針に従えば安定 ( 例 : すべての コ ー 子 ( リ リ ース か ら 、 子 ( リ リ ースへ、 ま
ド を ビル ド す る )
ま たは開発へ) か たは開発か ら ) へ
ら
バーチ ャ ル
適用外、ス ト リ ームの絞 り 込みに使用 適用外
適用外
開発
不安定
親か ら
親へ
タスク
不安定
親か ら
親へ
リ リ ース
安定性が高い
親へ
親か ら
「マージ」 と は、 別の ス ト リ ーム の変更を自分の ス ト リ ーム に組み込む こ と を意味 し 、 衝突を
解決す る 必要があ る 場合があ り ます。 「 コ ピー」 は反映元 ス ト リ ーム の コ ピーを反映先へ と 伝
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
79
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
播す る こ と です。 下図は基本的な ス ト リ ーム階層を示 し ます。 変更は ( よ り 安定性の低い コ ー
ド ラ イ ン に ) マージダ ウ ン さ れ、 ( よ り 安定性の高い コ ー ド ラ イ ン に ) コ ピーア ッ プ さ れ ます。
ス ト リ ーム ・ タ イ プはマージ と コ ピーのデフ ォ ル ト の動作を定義 し ますが、 ス ト リ ーム仕様で
toparent/notoparent オプシ ョ ンお よ び fromparent/nofromparent オプシ ョ ン を編集
す る こ と に よ っ て、 デフ ォ ル ト 設定を無効にす る こ と がで き ます。
ス ト リ ーム ・ パス
ス ト リ ーム ・ パ ス は、 ス ト リ ーム を構成す る フ ァ イ ル と パ ス を制御 し 、 それ ら の フ ァ イ ルの伝
播方法を定義 し ます。 メ イ ン ラ イ ン を除 き 、 各ス ト リ ームは親ス ト リ ームの構造を引 き 継ぎ ま
す。 子ス ト リ ーム の構造を変更す る には、 以下の と お り パ ス を指定 し ます。 :
タイプ
同期を
実行 ?
サブミッ
トを実行 ?
親への / 親から
の反映を実行 ?
注意
share
Y
Y
Y
( デフ ォ ル ト ) 編集 さ れ、親 と 子の ス ト リ ーム間
で伝播 さ れ る フ ァ イ ルに使用。 共有パ ス にあ る
すべての フ ァ イ ルはブ ラ ンチ さ れ、 一般に、 共
有パ ス の制限は最 も 寛容です。
isolate
Y
Y
N
バ イ ナ リ のビル ド 結果な ど、 ス ト リ ームの外へ
の伝播は許容 さ れないが、 その中での編集が可
能であ る フ ァ イ ルに使用。
import
Y
N
N
ス ト リ ームに物理的に存在 し ていなければな ら
ないが、 変更 さ れ る こ と のない コ ン ポーネ ン ト
に使用。 例 : サー ド パーテ ィ 製 ラ イ ブ ラ リ 。
exclude
N
N
N
子ス ト リ ームに組み込む こ と が決 し て許容 さ れ
ない、 親ス ト リ ーム内の フ ァ イ ルに使用。
次の例では、 src パ ス内の フ ァ イ ルはサブ ミ ッ ト 不可 (親の ス ト リ ーム の ビ ュ ーか ら イ ン ポー
ト さ れてい る )、 lib パ ス内の フ ァ イ ルはサブ ミ ッ ト 不可 (デ ィ ポ内の明示的な指定場所か ら
イ ン ポー ト さ れてい る )、 db パ ス内の フ ァ イ ルは ス ト リ ーム内での編集 と サブ ミ ッ ト が可能で
すが、 親に コ ピーす る こ と はで き ません。
Paths:
share ...
import src/...
import lib/... //depot/lib3.0/...
isolate db/...
80
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
こ れ ら のパ ス を使用 し て、 ス ト リ ーム に関連付け ら れた ワー ク スペース のマ ッ ピ ン グが生成 さ
れます。 ス ト リ ーム構造が変化す る と 、 関連す る ワー ク スペース の ク ラ イ ア ン ト ・ ビ ュ ーが自
動的に更新 さ れ、 事実上手動では変更で き ません。 ス ト リ ーム が ロ ッ ク さ れてい る 場合、 ス ト
リ ーム所有者のみ (あ る いは、 ス ト リ ーム の Owner: がグループであ る 場合はそのグループに
所属 し てい る ユーザのみ) ス ト リ ーム仕様の編集が可能です。
ス ト リ ーム仕様に よ り 、 ( 指定 さ れたデ ィ ポの場所にあ る フ ァ イ ルが ワ ー ク スペース内の別の
場所に同期 さ れ る よ う に ) フ ァ イ ルの場所を マ ッ ピ ン グ し 直 し て、 フ ァ イ ル タ イ プに従っ て
フ ァ イ ルを選抜す る こ と も 可能です。例えば、オブジ ェ ク ト ・ フ ァ イ ルお よ び実行可能モジ ュ ー
ルが ス ト リ ーム に含 ま れない よ う にす る には、 以下のエ ン ト リ を ス ト リ ーム仕様に追加 し ま
す。
Ignored:
.o
.exe
ス ト リ ーム ・ デ ィ ポの作成
ス ト リ ームは ( 「 ロ ーカル」 デ ィ ポではな く ) 「ス ト リ ーム」 デ ィ ポにあ り ます。 デ ィ ポ を作成
す る には、 super 権限がなければな り ません。 ス ト リ ーム ・ デ ィ ポ を作成す る 手順は以下の と
お り です。
1.
PERFORCE スーパーユーザが p4 depot ディポ名 コ マ ン ド を発行 し ます。 デ ィ ポ仕様
フ ォーム が表示 さ れ ます。 ( 例 : p4 depot projectX)
2.
Type: フ ィ ール ド を ス ト リ ームに設定 し ます。
3.
その他の設定を適宜調整 し て、 仕様を保存 し ます。
デ ィ ポの作成後は、 デ ィ ポの タ イ プ を変更で き ない こ と に注意 し て く だ さ い。
ス ト リ ームの作成
すべての ス ト リ ームは、 それ ら を含むデ ィ ポの 1 つ下の ( パ ス ) レベルに格納 さ れます。 例え
ば Project X の場合は、 以下の よ う なデ ィ ポ ・ パ ス を も つ一組の ス ト リ ームがあ る と 想定 さ れ
ます。
• //projectX/main
• //projectX/dev-bruno
• //projectX/release1.0
• //projectX/release2.0
な ど。
まず最初に、 ス ト リ ーム階層の中央に位置す る メ イ ン ス ト リ ーム を作成 し ます。 多 く の場合、
メ イ ン ラ イ ンはかな り 安定性の高い受信側の幹線であ り 、子ス ト リ ーム か ら 開発作業を受け入
れ、 結果を リ リ ース ・ ス ト リ ームへ と 伝播す る こ と で、 進行中の開発を妨害す る こ と な く 、 リ
リ ース に向けた安定化 と ビル ド を行 う こ と がで き ます。
メ イ ン ラ イ ン を作成す る 手順は以下の と お り です。
1.
p4 stream コ マ ン ド を、 デ ィ ポの後に ス ト リ ーム名を指定 し て実行 し ます ( 例 : p4
stream -t mainline //projectX/main)。ス ト リ ーム仕様フ ォ ームが表示 さ れ ます。
2.
必要に応 じ てオプシ ョ ン を変更 し て、 仕様を保存 し ます。
3.
メ イ ン ラ イ ン ・ ス ト リ ームが作成 さ れた こ と を確認す る ために、 p4 streams コ マ ン ド
を実行 し ます ( 例 : p4 streams //projectX/...)。
次に、 メ イ ン ラ イ ンに フ ァ イ ルを取 り 込みます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
81
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
メ イ ン ラ イ ンにデー タ を取 り 込む
メ イ ン ラ イ ンにデー タ を取 り 込むには、 以下の 2 つの方法があ り ます。
• ロ ーカルの フ ァ イ ルシ ス テ ム か ら フ ァ イ ルを追加す る
• 別のデ ィ ポか ら フ ァ イ ルを ブ ラ ンチす る
フ ァ イ ルの履歴を保持す る 必要があ る 場合は、 反映元の フ ァ イ ルを メ イ ン ラ イ ン ・ ス ト リ ーム
にブ ラ ンチ し ます。 フ ァ イ ル履歴を保持す る 必要がない場合は、 単に フ ァ イ ルを追加 し ます。
以下のセ ク シ ョ ン で、 それぞれの方法について説明 し ます。
最初に、 ワー ク スペース を作成する
ス ト リ ーム で作業す る には、 ス ト リ ームに関連付け ら れた ワー ク スペース を作成 し なければな
り ません。 ワ ー ク スペース を ス ト リ ーム に関連付け る と 、 PERFORCE サーバは ス ト リ ーム の構
造に基づいて ワ ー ク スペース ・ ビ ュ ーを生成 し ます。 ユーザが ワー ク スペース ・ ビ ュ ーを編集
す る 必要はあ り ません ( 実際、 手動で変更す る こ と はで き ません )。 ス ト リ ームの構造が変化
す る と 、 PERFORCE は必要に応 じ て、 ス ト リ ーム に関連付け ら れた ワ ー ク スペース の ビ ュ ーを
更新 し ます。
( 推奨事項 : ス ト リ ーム に関連付け ら れた ワー ク スペース に名前を割 り 当て る 場合には、 ユー
ザ _ ディポ _ ストリーム名 な ど の命名規則を採用 し て く だ さ い。 例えば、 bruno_projectX
な ど と し ま す。 ま た、 異な る タ イ プの ス ト リ ーム に関連付け ら れた ク ラ イ ア ン ト ・ ワ ー ク ス
ペースへの切 り 替え を たびたび行 う ユーザは、 ス ト リ ーム ・ タ イ プ を ワ ー ク スペース名に追加
し 、 bruno_projectX_main や bruno_projectX_dev な ど と す る と 有用であ る か も し れま
せん )。
ス ト リ ーム用の ワー ク スペース を作成す る 手順は以下の と お り です。
1.
p4 client コ マ ン ド を、 -S オプシ ョ ン を使用 し て関連ス ト リ ームの名前を指定 し て実
行 し ます。 ( 例 : p4 client -S //projectX/main bruno_projectX)
2.
ワ ー ク ス ペー ス 仕様 フ ォ ー ム が表示 さ れ ま す。 (ス ト リ ー ム に関連付け ら れた ワ ー ク ス
ペース にのみ用い ら れ る Stream: フ ィ ール ド に注意 し て く だ さ い。)
3.
ワ ー ク スペース ・ ルー ト ・ デ ィ レ ク ト リ お よ び必要なその他の設定を構成 し て、 仕様を保
存 し ます。 View: フ ィ ール ド は PERFORCE に よ っ て管理 さ れ る ため、 変更す る 必要はあ り
ません。
4.
ワ ー ク スペース が作成 さ れた こ と を確認す る ため、 p4 clients コ マ ン ド を実行 し ます
( 例 : p4 clients -S //projectX/main)。
こ れで、 メ イ ン ラ イ ン に フ ァ イ ルを取 り 込む準備がで き ま し た。
フ ァ イルを追加する
反映元フ ァ イ ル と 新 し い メ イ ン ラ イ ン ・ ス ト リ ーム内の フ ァ イ ル と の間で履歴の関係を維持す
る 必要がない場合は、 単に フ ァ イ ルを追加 し ます。 フ ァ イ ルを メ イ ン ラ イ ン ・ ス ト リ ームに追
加す る 手順は以下の と お り です。
1.
ワ ー ク スペース ・ ルー ト ・ デ ィ レ ク ト リ が存在 し ない場合は、 それを作成 し ます。 例 :
cd C:\Users\bruno\p4clients\
mkdir bruno_projectX_main
2.
フ ァ イ ル と フ ォ ルダ を ワー ク スペース ・ ルー ト ・ デ ィ レ ク ト リ に コ ピー し ます。
3.
ク ラ イ ア ン ト ・ ワー ク スペース のルー ト ・ デ ィ レ ク ト リ に移動 し 、 p4 reconcile コ マ
ン ド を使用 し て PERFORCE の制御下にない フ ァ イ ルを検出 し 、 それ ら を追加目的の作業状
態に し ます。
p4 reconcile -a
82
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
フ ァ イ ルが正 し く 追加 さ れ る よ う に設定 さ れてい る こ と を確認す る には、 p4 opened コ マ ン
ド を実行 し ます。 ス ト リ ームにデー タ を取 り 込むには、 フ ァ イ ルが作業状態に さ れてい る チ ェ
ン ジ リ ス ト を サブ ミ ッ ト し ます。
他のデ ィ ポか ら ブ ラ ン チする
他の ス ト リ ーム ・ デ ィ ポ、 従来のデ ィ ポ、 ま たは リ モー ト ・ デ ィ ポか ら フ ァ イ ルを ブ ラ ンチす
る こ と が可能です。 ブ ラ ンチ操作に よ っ て メ イ ン ラ イ ン にデー タ を取 り 込む と 、 PERFORCE は
反映元 フ ァ イ ル と 反映先 フ ァ イ ルの リ ビ ジ ョ ン履歴の関係 を維持 し ま す。 ワ ー ク ス ペー ス に
は、 反映先 ス ト リ ー ム に関連付 け ら れ た も の を 設定 し な け れば な り ま せん ( 例 : p4 set
P4CLIENT=bruno_projectX_main)。
ブ ラ ンチ操作に よ っ て メ イ ン ラ イ ン にデー タ を取 り 込むには、 反映元 と 反映先を指定 し て p4
copy コ マ ン ド を実行 し ます。 例 :
p4 copy -v //mysourcedepot/mainline/... //ProjectX/main/...
( こ の例では -v オプシ ョ ン を指定 し て、ワ ー ク スペース に フ ァ イ ルを コ ピーせずにサービ ス を
更新す る こ と に よ っ てパフ ォ ーマ ン ス を向上 さ せてい ます。 )PERFORCE は一連の 「... か ら イ ン
ポー ト し ます」 と い う メ ッ セージ を表示 し て反映元 と 反映先の フ ァ イ ルを列挙 し 、 作業中チ ェ
ン ジ リ ス ト で フ ァ イ ル を 作業状態に し ま す。 フ ァ イ ル を 作業状態にせずに操作結果 を プ レ
ビ ュ ーす る には、 -n オプシ ョ ン を指定 し ます。 誤っ た コ ピー操作を元に戻すには、 p4 revert
コ マ ン ド を実行 し ます。 例 :p4 revert //ProjectX/main/...)
フ ァ イ ルが正 し く 追加 さ れ る よ う に設定 さ れてい る こ と を確認す る には、 p4 opened コ マ ン
ド を実行 し ます。 ス ト リ ームにデー タ を取 り 込むには、 フ ァ イ ルが作業状態に さ れてい る チ ェ
ン ジ リ ス ト を p4 サブ ミ ッ ト し ます。
空の ス ト リ ーム にデー タ を読み込む場合は、 p4 populate を使用すれば こ の処理を簡略化で
き ます。 例 :
p4 populate //mysourcedepot/mainline/... //ProjectX/main/...
は、 p4 copy -v の後に p4 submit を実行 し た場合 と 同様に動作 し ます。 p4 populate の
実行結果 を 事前に知 り たい場合は、 p4 populate -n を 使用 し て、 コ マ ン ド の結果 を プ レ
ビ ュ ー し ます。
子ス ト リ ームにデー タ を取 り 込む
メ イ ン ラ イ ンにデー タ を取 り 込んだ後、 開発ス ト リ ーム と リ リ ース ・ ス ト リ ームに フ ァ イ ルを
ブ ラ ンチす る こ と がで き ます。開発ス ト リ ーム を使用すれば メ イ ン ラ イ ンの安定性を損な う こ
と な く 試験を行 う こ と がで き 、 リ リ ース ・ ス ト リ ーム を使用すれば、 メ イ ン ラ イ ン で新機能に
取 り 組んでい る 間に既存の機能を完成 さ せ る こ と が可能です。 例えば、 親 メ イ ン ラ イ ン の ク
ロ ーン であ る 開発ス ト リ ーム を作成す る には、 以下の コ マ ン ド を実行 し ます。
p4 stream -t development -P //projectX/main //projectX/dev
タ イ プが development に設定 さ れた ス ト リ ーム仕様が表示 さ れます。 こ の仕様を保存 し て く
だ さ い。フ ァ イ ルを メ イ ン ラ イ ン か ら ス ト リ ーム に取 り 込むには、次の コ マ ン ド を実行 し ます。
p4 client -s -S //projectX/dev bruno_projectX_dev
p4 merge -S //projectX/dev -r
p4 submit -d "Branching from mainline"
ま たは、 単に p4 populate を次の よ う に使用 し ます。
p4 populate -d "From main" -S //projectX/dev -P //projectX/main -r
//projectX/dev
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
83
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
変更を伝播する
ス ト リ ーム の使用に よ り 、 安定 し た コ ー ド を処理中の作業か ら 隔離 し て、 妨害を受けずに様々
なプ ロ ジ ェ ク ト に同時に取 り 組む こ と が可能にな り ます。 安定性の よ り 低い ス ト リ ーム を、 安
定性の よ り 高い ス ト リ ーム か ら ( マージに よ り ) 定期的に更新 し た後、 変更を ( コ ピーに よ り )
安定性の高い ス ト リ ーム に昇格 さ せ る こ と が最善の方法です。 マージ と コ ピーは効率化 さ れた
反映形式です。 一般には、 以下の と お り 変更を伝播 し ます。
• コ ピー と ブ ラ ンチを行 う には、 p4 copy を使用 し ます。
• マージ を行 う には、 p4 merge を使用 し ます。
• p4 merge ま たは p4 copy に よ っ て対処で き なか っ たその他の場合には、p4 integrate
を使用 し ます。
上述 し たガ イ ド ラ イ ンは、 ス ト リ ーム と 従来のデ ィ ポの両方に適用 さ れ ます。
安定性の高いス ト リ ームか ら 変更を マージする
安定性の よ り 高い ス ト リ ーム か ら の変更に よ っ て ス ト リ ーム を更新す る には、 p4 merge -S
source-stream コ マ ン ド を実行 し 、 必要に応 じ て衝突解決を行っ た後、 得 ら れたチ ェ ン ジ リ
ス ト を サブ ミ ッ ト し ま す。 デ フ ォ ル ト では、 意図 し た反映先か ら 入っ て来 る あ ら ゆ る 変更 を
マージす る ま で、 安定性の高い ス ト リ ーム に変更を コ ピーす る こ と はで き ません。 こ れに よ っ
て、 安定性の高い ス ト リ ーム の内容を誤っ て上書 き し て し ま う こ と が避け ら れ ます。
開発ス ト リ ーム で作業を始めた後に、変更が メ イ ン ラ イ ン にチ ェ ッ ク イ ン さ れた と 仮定す る と
(ま た、 ワー ク スペース が開発ス ト リ ームに設定 さ れてい る と 仮定)、 以下の コ マ ン ド を実行す
る こ と に よ り 、 開発ス ト リ ーム に変更を組み込む こ と がで き ます。
p4 merge -S //projectX/dev -r
p4 resolve
p4 submit -d "Merged latest changes"
安定性の高いス ト リ ームに変更を コ ピーする
マージ実行後、 ス ト リ ーム には よ り 安定 し た親ま たは子の最新状態が反映 さ れてい ます。 開発
ス ト リ ーム に加え たい変更を完成 さ せた と 仮定す る と 、反映先ス ト リ ーム での作業を上書 き し
て し ま う 危険を伴わずに新 し い内容に昇格で き ま す。 「 コ ピー」 操作では反映元の複製が単に
反映先に伝播 さ れ、 衝突解決は必要 と し ません。 例えば、 ( ワ ー ク スペース が親の メ イ ン ラ イ
ン ・ ス ト リ ームに設定 さ れてい る と 仮定 し て ) 開発ス ト リ ームか ら 親の メ イ ン ラ イ ン に変更を
昇格 さ せ る には、 以下の コ マ ン ド を実行 し ます。
p4 copy -S //projectX/dev
p4 submit -d "Check my new feature in"
変更を別のス ト リ ーム階層に伝播する
同格の開発ス ト リ ーム か ら 作成中の機能やバグ修正を取得 し たい場合な ど、生来の親子関係を
持たない 2 つの ス ト リ ーム間で特定の変更を伝播す る 必要があ る か も し れ ません。 その よ う な
ス ト リ ーム か ら のマージ ま たはその よ う な ス ト リ ームへの コ ピ ーを行 う には、 仕様を編集 し
て、 Parent フ ィ ール ド を目的の反映元ま たは反映先に設定す る こ と に よ り 、 ス ト リ ーム の親を
変更す る こ と がで き ます。 こ れは最適な方法 と はみな さ れませんが、 必要な場合があ る か も し
れません。
スパース (希薄 ) な ブ ラ ン チ と し ての タ ス ク ・ ス ト リ ームの使用
タ ス ク ・ ス ト リ ームは開発ス ト リ ーム と 同様に動作す る ブ ラ ンチですが、 親ス ト リ ームへ と 逆
方向にブ ラ ンチ さ れ る ま では " 半プ ラ イ ベー ト な " 状態に保たれ ます。 こ の ス ト リ ームは軽量
なブ ラ ンチ と し て設計 さ れてお り 、 ブ ラ ンチ内で予期 さ れ る 作業がブ ラ ンチ内の フ ァ イ ル数 と
比較 し て少数の フ ァ イ ルにのみ影響す る 場合に最 も 有効です。
84
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
タ ス ク ・ ス ト リ ームは親ス ト リ ーム を必要 と し ません。 そのため、 ス ト リ ーム ・ デ ィ ポで作業
し ていないユーザで あ っ て も タ ス ク ・ ス ト リ ーム の利点を得 る こ と がで き ま す。 ( タ ス ク ・ ス
ト リ ームは ス ト リ ーム ・ デ ィ ポの中にあ る 必要があ り ますが、 管理者が ス ト リ ーム ・ デ ィ ポ を
タ ス ク ・ ス ト リ ーム専用の保存場所 と し て構成す る こ と が可能です。)
タ ス ク ・ ス ト リ ーム は使用後に削除 ま たはア ン ロ ー ド さ れ る こ と が想定 さ れてい ま す。 タ ス
ク ・ ス ト リ ーム を削除 し た後であ っ て も 、 その ス ト リ ーム名は再利用で き ません。 ほ と ん ど の
サ イ ト では、 タ ス ク ご と に固有の命名規則 ( ユーザ - 日付 - ジ ョ ブ番号 な ど) を採用す る こ と
にな り ます。
タ ス ク ・ ス ト リ ーム内での作業は、 開発ス ト リ ーム での作業 と 同様です。
1.
タ ス ク ・ ス ト リ ーム を作成 し ます ( こ の例では開発ス ト リ ームの子 と し て作成)。
p4 stream -t task -P //projectX/dev //Tasks/mybug123
2.
ス ト リ ーム にデー タ を取 り 込みます。
p4 populate -d "Fix bug 123" -S //Tasks/mybug123 -P //projectX/dev
-r//Tasks/mybug123
3.
ス ト リ ーム内の フ ァ イ ルに変更を加え ます。
4.
必要な変更を親ス ト リ ーム か ら マージダ ウ ン し ます。 必要に応 じ て衝突解決を行い ます。
p4 merge -S //Tasks/mybug123 -r
5.
変更内容を親ス ト リ ーム に コ ピーア ッ プ し ます。
p4 copy -S //Tasks/mybug123 -P //projectX/dev
6.
タ ス ク ・ ス ト リ ーム を削除ま たはア ン ロ ー ド し ます。
p4 stream -d //Tasks/mybug123
(ま たは、 p4 unload -s //Tasks/mybug123 を使用 し て ア ン ロ ー ド し ます。)
タ ス ク ス ト リ ーム を使用す る 際は、 タ ス ク ・ ス ト リ ームに関連付け ら れた ワ ー ク スペース にお
いてのみ、 ス ト リ ーム内のすべての フ ァ イ ルが確認で き ます。 ス ト リ ームは他の ワ ー ク スペー
ス では ス パース ・ ブ ラ ンチ と し て表示 さ れ、 その タ ス ク ・ ス ト リ ーム内で変更 し た フ ァ イ ル と
リ ビ ジ ョ ン のみが確認で き ま す。 タ ス ク ・ ス ト リ ーム の他のほ と ん ど の メ タ デー タ はプ ラ イ
ベー ト の状態に保たれ ます。
タ ス ク ・ ス ト リ ームは削除ま たはア ン ロ ー ド さ れ る ま でデ ィ ポ内に急速に蓄積 さ れ ます。 プ ロ
ジ ェ ク ト のデ ィ ポが タ ス ク ・ ス ト リ ーム でい っぱいにな ら ない よ う に、 PERFORCE 管理者ま
たはプ ロ ジ ェ ク ト 主導者が特定の ス ト リ ーム ・ デ ィ ポ を タ ス ク ・ ス ト リ ーム専用の保存領域 と
し て構築す る と よ いで し ょ う 。 こ の場合は、 プ ロ ジ ェ ク ト ・ デ ィ ポ内にあ る 親の子ス ト リ ーム
と し て、 ス ト リ ーム を タ ス ク ・ ス ト リ ームのデ ィ ポ内に作成 し て く だ さ い。
ス ト リ ームのワー ク スペース を管理する
通常は、 作業を行 う ス ト リ ーム ご と に ワー ク スペース を定義 し ます。 し か し こ の方法では、 ス
ト リ ーム に非常に多 く の フ ァ イ ルが含まれてい る 場合 ( 例えば数万件か ら 数十万件 )、 前回作
業を行っ てか ら 大幅に変更 さ れた ス ト リ ーム に切 り 替え る 際に、長時間の同期処理が必要 と な
る 可能性があ り ます。 ス ト リ ーム の構造に一貫性があ り 、 ほ と ん ど の フ ァ イ ルが同内容であ る
場合、異な る ワ ー ク スペース を使用す る 代わ り に ワー ク スペース を目的の ス ト リ ーム に関連付
け直す こ と に よ っ て、 こ の問題を回避す る こ と がで き ます。 ワ ー ク スペース と ス ト リ ームの関
連付け を変更 し た ら 、同期を実行 し 、違いのあ る フ ァ イ ルをすべて取得 し ます。 リ リ ース 2011.1
では、 PERFORCE サーバはそれ ら の フ ァ イ ルだけ を同期 し 、 ワ ー ク ス ペース の更新に必要な時
間を短縮 し 、 サーバ負荷 と ネ ッ ト ワ ー ク ・ ト ラ フ ィ ッ ク を最小に抑え ます。
ワ ー ク スペース に関連付け ら れた ス ト リ ーム を変更す る には、 次の コ マ ン ド を実行 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
85
第 6 章 : コ ー ド ラ イ ン、 ブ ラ ンチ、 お よ びス ト リ ーム
p4 client -s -S //streamdepot/streamname
仮想ス ト リ ームに よ り ワー ク スペースの範囲を狭 く する
大規模なプ ロ ジ ェ ク ト では、 ス ト リ ーム を整然 と 編成 し て も ワー ク スペース ・ ビ ュ ーを十分に
制限で き ない こ と があ り ます。 大規模な組織では、 プ ロ ジ ェ ク ト の フ ァ イ ルのほんの一部に し
か関心のないグループが多数存在す る 場合 も よ く あ り ます。 旧バージ ョ ン の PERFORCE では、
必要な部分のみを含め る よ う にユーザが手動で ク ラ イ ア ン ト ・ ワー ク スペース ・ ビ ュ ーを制限
し てい ま し た。 ス ト リ ーム を利用す る 別の方法 と し て、 virtual ス ト リ ーム を フ ィ ル タ と し
て使用す る こ と がで き ます。
例えば、 進行中の開発作業が //Ace/dev ス ト リ ーム で行われてい る と し ます。
Stream: //Ace/dev
Parent: //Ace/main
Type:
development
Paths:
share ...
(プ ロ ジ ェ ク ト に関連す る すべての資産ではな く ) 製品の ド キ ュ メ ン ト に関す る 作業にのみ従
事 し てい る ユーザであれば、 以下の よ う に //Ace/dev/docs/... の下にあ る フ ァ イ ルだけ
を含む仮想ス ト リ ーム を作成で き ます。
Stream: //Ace/devdocs
Parent: //Ace/dev
Type:
virtual
Paths:
share docs/...
そ し て自分の ク ラ イ ア ン ト ・ ワー ク スペース を devdocs 仮想ス ト リ ームに切 り 替え る ために
次の コ マ ン ド を実行 し ます。
p4 client -s -S //Ace/devdocs
devdocs ワ ー ク スペース を使用す る と 、 ユーザの ク ラ イ ア ン ト ・ ワー ク スペース ・ ビ ュ ーは
//Ace/dev/docs/... に あ る 要素のみを含む よ う に自動的に更新 さ れ ま す。 そのユーザが
//Ace/devdocs に加え た変更は自動的に元の //Ace/dev コ ー ド ラ イ ン に伝播 さ れ、 p4
copy ま たは p4 integrate を手動で実行す る 必要はあ り ません。
86
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第7章
ラ ベル
PERFORCE の ラ ベル と は、 タ グ付け さ れた一連の フ ァ イ ル ・ リ ビ ジ ョ ン を意味 し ます。 例えば、
特定の リ リ ース を構成す る フ ァ イ ル・ リ ビ ジ ョ ン に ラ ベル release2.0.1 を タ グ付け し ます。
一般的には、 次の場合に ラ ベルを使用で き ます。
• ソ フ ト ウ ェ アの特定の リ リ ース に含ま れてい る 全フ ァ イ ル ・ リ ビ ジ ョ ン を追跡す る と き
• 特定の フ ァ イ ル ・ リ ビ ジ ョ ン の集合 (標準の構成フ ァ イ ル) を他のユーザに渡 し たい と き
• 新規のビル ド 用 ワー ク スペース を設定す る と き
• 開発のためにブ ラ ンチす る フ ァ イ ル ・ リ ビ ジ ョ ンの集合を指定す る と き
• 複数の リ ビ ジ ョ ン を 1 つのグループ と し て ク ラ イ ア ン ト ・ ワ ー ク スペース と 同期 さ せ る と き
ラ ベル と チ ェ ン ジ リ ス ト 番号は両方 と も 、特定の フ ァ イ ル・ リ ビ ジ ョ ンの集合を参照 し ますが、
以下に示す相違点があ り ます。
• ラ ベルに よ り 任意の フ ァ イ ル ・ リ ビ ジ ョ ン の集合を参照で き ます。 チ ェ ン ジ リ ス ト 番号は、
チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れた時点にデ ィ ポ内に あ る すべての フ ァ イ ルの内容を参照
し ま す。 あ る 異な る 時点での フ ァ イ ル ・ リ ビ ジ ョ ン の グループ を参照す る 必要が あ る 場合
は、 ラ ベルを使用 し ます。 あ る 一定の時点で、 フ ァ イ ルがその用途で一致 し てい る 場合は、
チ ェ ン ジ リ ス ト 番号を使用 し ます。
• ラ ベルの内容を変更す る こ と がで き ます。サブ ミ ッ ト 済チ ェ ン ジ リ ス ト の内容を変更す る こ
と はで き ません。
• ラ ベルには独自に名前を付け る こ と がで き ます。 チ ェ ン ジ リ ス ト 番号は PERFORCE に よ っ て
割 り 当て ら れます。
チ ェ ン ジ リ ス ト は伝統的に ラ ベルを使用す る 多 く のアプ リ ケーシ ョ ンに適 し てい ます。 ラ ベル
と 異な り 、 チ ェ ン ジ リ ス ト は特定の時点におけ る フ ァ イ ル ・ セ ッ ト の状態を表 し ます。 ラ ベル
が必要であ る と 見なす前に、単にチ ェ ン ジ リ ス ト 番号を参照す る こ と で要件が満たせないか ど
う か考え てみて く だ さ い。
ラ ベルで フ ァ イルに タ グ付けする
フ ァ イ ル ・ リ ビ ジ ョ ン の集合に (既に タ グ付け さ れた リ ビ ジ ョ ン に加え て) タ グ を付け る には、
p4 tag を使用 し て、 ラ ベル名お よ び対象 と す る フ ァ イ ル ・ リ ビ ジ ョ ン を指定 し ます。
例 え ば、 //depot/release/jam/2.1/src/ の 下 に あ る フ ァ イ ル の最新 リ ビ ジ ョ ン に jam2.1.0 と い う ラ ベルで タ グ を付け る には、 次の コ マ ン ド を発行 し ます。
p4 tag -l jam-2.1.0 //depot/release/jam/2.1/src/...
最新 リ ビ ジ ョ ン以外の リ ビ ジ ョ ンに タ グ を付け る には、 次の フ ァ イ ル ・ パ タ ーン でチ ェ ン ジ リ
ス ト 番号を指定 し ます。
p4 tag -l jam-2.1.0 //depot/release/jam/2.1/src/...@1234
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
87
第 7 章 : ラ ベル
指定 し た ラ ベルを タ グ付けで き る のは、 指定フ ァ イ ルの 1 つの リ ビ ジ ョ ンだけですが、 同一の
フ ァ イ ル ・ リ ビ ジ ョ ン に複数の ラ ベルを タ グ付けす る こ と がで き ます。
フ ァ イルから タ グを取 り 外す
フ ァ イ ル ・ リ ビ ジ ョ ン か ら タ グ を取 り 外すには、 次の よ う に実行 し ます。
p4 tag -d -l labelname filepattern
こ の コ マ ン ド は、 指定 さ れた ラ ベル と それに よ っ て タ グ付け さ れた フ ァ イ ル ・ リ ビ ジ ョ ン と の
間の関連付け を削除 し ます。 例えば、 //depot/release/jam/2.1/src/... の下にあ る す
べての リ ビ ジ ョ ン が jam-2.1.0 で タ グ付け さ れてい る 場合、次の よ う に し てヘ ッ ダ フ ァ イ ル
の タ グのみを取 り 外す こ と がで き ます。
p4 tag -d -l jam-2.1.0 //depot/release/jam/2.1/src/*.h
タ グの結果を プ レ ビ ュ ーする
p4 tag の結果は、 p4 tag -n を使っ てプ レ ビ ュ ーす る こ と がで き ます。 こ の コ マ ン ド では、
実際に操作を行 う こ と な く 、 tag コ マ ン ド に よ っ て タ グ付け、 タ グの取 り 外 し 、 再度の タ グ付
け を行 う リ ビ ジ ョ ン を リ ス ト 表示 し ます。
ラ ベルによ っ て タ グ付け さ れた フ ァ イルを リ ス ト する
labelname に よ り タ グ付け さ れた リ ビ ジ ョ ン を リ ス ト す る には、 次の よ う に ラ ベル名を指定
し て p4 files を使用 し ます。
p4 files @labelname
labelname で タ グ付け さ れたすべての リ ビ ジ ョ ンが、 フ ァ イ ル タ イ プ、チ ェ ン ジの操作、チ ェ
ン ジ リ ス ト 番号 と 共に リ ス ト さ れます。 ( こ の コ マ ン ド は、 p4 files //...@labelname と
同等です。)
フ ァ イルに適用済みのラ ベルを リ ス ト する
任意の フ ァ イ ルに適用 さ れたすべての ラ ベルを リ ス ト す る には、 次の コ マ ン ド を使用 し ます。
p4 labels filepattern
ラ ベルを使っ て フ ァ イル ・ リ ビ ジ ョ ン を指定する
フ ァ イ ルを参照す る ために リ ビ ジ ョ ン (#1, #head)、 チ ェ ン ジ リ ス ト 番号 (@7381)、 ま たは日
付 (@2011/07/01) を指定で き る 箇所であれば、 ラ ベル名 も 指定す る こ と がで き ます。
p4 sync @labelname コ マ ン ド の発行時に フ ァ イ ル引数を省略す る と 、その ラ ベルに よ っ て
タ グ付け さ れた ク ラ イ ア ン ト ・ ワー ク スペース ・ ビ ュ ー内のすべての フ ァ イ ルは、 ラ ベルで指
定 さ れた リ ビ ジ ョ ンに同期 さ れ ます。 ラ ベルで タ グ付け さ れてい る リ ビ ジ ョ ン を含ま ない ワ ー
ク スペース内のすべての フ ァ イ ルは、 ワ ー ク スペース か ら 削除 さ れ ます。 作業状態の フ ァ イ ル
と PERFORCE の管理下にない フ ァ イ ルは、 その影響を受け ません。 こ の コ マ ン ド は、 p4 sync
//...@labelname と 同等です。
p4 sync コ マ ン ド の発行時に フ ァ イ ル引数を指定す る と (p4 sync files@labelname) 、
ワ ー ク スペース にあ る 、 ラ ベルで タ グ付け さ れた フ ァ イ ルが タ グ付け さ れた リ ビ ジ ョ ン に同期
さ れます。
例 : ラ ベルに よ っ て タ グ付け さ れた フ ァ イ ルを ク ラ イ ア ン ト ・ ワー ク スペース に取得す る
アールの ラ ベル jam-2.1.0 に よ っ て タ グ付け さ れた フ ァ イ ルを彼の ク ラ イ ア ン ト ・ ワー
ク スペース に取得す る ために、 ブルー ノ は次の コ マ ン ド を発行 し ます。
p4 sync @jam-2.1.0
88
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 7 章 : ラ ベル
結果 と し て、 次の よ う に出力 さ れます。
//depot/dev/main/jam/Build.com#5 - updating c:\bruno_ws\dev\main\jam\Build.com
//depot/dev/main/jam/command.c#5 - updating c:\bruno_ws\dev\main\jam\command.c
//depot/dev/main/jam/command.h#3 - added as c:\bruno_ws\dev\main\jam\command.h
//depot/dev/main/jam/compile.c#12 - updating c:\bruno_ws\dev\main\jam\compile.c
//depot/dev/main/jam/compile.h#2 - updating c:\bruno_ws\dev\main\jam\compile.h
< など >
ラ ベルを削除する
ラ ベルを削除す る には、 次の コ マ ン ド を使用 し ます。
p4 label -d labelname
ラ ベルを削除 し て も 、 タ グ付 き の フ ァ イ ル ・ リ ビ ジ ョ ン には影響 し ません (ただ し 、 当然なが
ら 当該 リ ビ ジ ョ ン の タ グはな く な り ます)。
今後のために ラ ベルを作成する
ど の フ ァ イ ル・ リ ビ ジ ョ ン に も タ グ を付けずに ラ ベルを作成す る には、p4 label labelname
コ マ ン ド を発行 し ます。 こ の コ マ ン ド は、 ラ ベルの説明の記述や指定に使われ る フ ォ ーム を表
示 し ます。 ラ ベルを作成 し た ら 、 p4 tag ま たは p4 labelsync を使っ てその ラ ベルを フ ァ
イ ル ・ リ ビ ジ ョ ン に適用で き ます。
ラ ベル名は、 ク ラ イ ア ン ト ・ ワ ー ク スペース、 ブ ラ ンチ、 ま たはデ ィ ポの名前 と 異な っ ていな
ければな り ません。
例えば、 jam-2.1.0 を作成す る には、 次の コ マ ン ド を発行 し ます :
p4 label jam-2.1.0
次の フ ォ ームが表示 さ れます。
Label:
jam-2.1.0
Update:
2011/03/07 13:07:39
Access:
2011/03/07 13:13:35
Owner:
earl
Description:
Created by earl.
Options:
unlocked noautoreload
View:
//depot/...
ラ ベルの説明を入力 し 、 フ ォ ーム を保存 し ます ([View:] フ ィ ール ド を変更す る 必要はあ り ま
せん)。
ラ ベルを作成 し た後は、 p4 tag お よ び p4 labelsync コ マ ン ド を使っ てその ラ ベルを フ ァ
イ ル ・ リ ビ ジ ョ ン に適用で き ます。
タ グ付け可能な フ ァ イルを制限する
p4 label フ ォ ーム内の [View:] フ ィ ール ド は、 ラ ベルで タ グ付けがで き る フ ァ イ ルを制限
し ます。 デフ ォ ル ト ・ ラ ベル ・ ビ ュ ーにはデ ィ ポ全体 (//depot/...) が含まれます。 デ ィ ポ
内のすべての フ ァ イ ルに対 し て不用意に タ グ付け を し ない よ う にす る には、 ラ ベルの [View:]
フ ィ ール ド でデ ィ ポ ・ シ ン タ ッ ク ス を使用 し て、 タ グ付け可能な フ ァ イ ル と デ ィ レ ク ト リ を設
定 し ます。
例 : ラ ベル ・ ビ ューを使用 し て タ グ付け可能な フ ァ イ ルを制御す る
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
89
第 7 章 : ラ ベル
アールは、 リ リ ース 2.1 ブ ラ ンチ内の ソ ース コー ド の リ ビ ジ ョ ンに タ グ付け し たい と 考え
てい ます。 彼はそれ ら の リ ビ ジ ョ ンが正常に コ ンパ イ ルで き る こ と を知っ てい ます。 彼は
p4 label jam-2.1.0 と 入力 し 、 ラ ベルの適用範囲を制限す る ため、 以下の よ う に ラ
ベルの [View:] フ ィ ール ド を指定 し ます。
Label:
jam-2.1.0
Update:
2011/03/07 13:07:39
Access:
2011/03/07 13:13:35
Owner:
earl
Description:
Created by earl.
Options:
unlocked noautoreload
View:
//depot/release/jam/2.1/src/...
こ の ラ ベルは、 release 2.1 ソ ース コ ー ド ・ デ ィ レ ク ト リ にあ る フ ァ イ ルにのみ タ グ付けす
る こ と がで き ます。
静的ラ ベルを使っ てワー ク スペースの設定を記録する
p4 labelsync コ マ ン ド を発行す る こ と に よ り 、 静的 ラ ベルを使用 し て ク ラ イ ア ン ト ・ ワ ー
ク ス ペー ス の状態 (現在同期 さ れてい る フ ァ イ ル ・ リ ビ ジ ョ ン) を記録す る こ と がで き ます。
指定す る ラ ベルは、 ク ラ イ ア ン ト ・ ワー ク スペース と 同 じ ビ ュ ーを持っ ていなければな り ませ
ん。
例えば、 既存の ws_config と い う ラ ベルを使っ て現在の ク ラ イ ア ン ト ・ ワ ー ク スペース の設
定を記録す る には、 次の コ マ ン ド を使用 し ます。
p4 labelsync -l ws_config
現在の ワ ー ク ス ペー ス に同期 さ れて い て ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス ・ ビ ュ ー と ラ ベル ・
ビ ュ ー (存 在 す れ ば) の 両 方 か ら 見 る こ と の で き る す べ て の フ ァ イ ル ・ リ ビ ジ ョ ン に、
ws_config と い う ラ ベルが タ グ付け さ れます。それま で ws_config が タ グ付け さ れていて、
その後 ワ ー ク スペース か ら 削除 さ れた(p4 sync #none)フ ァ イ ルか ら は、タ グが外 さ れます。
ws_config ラ ベルで タ グ付け さ れた フ ァ イ ルを同期 さ せ る (その結果、 ワー ク スペース の設
定を再作成す る ) には、 次の コ マ ン ド を発行 し ます。
p4 sync @ws_config
自動ラ ベルを チ ェ ン ジ リ ス ト や他の リ ビ ジ ョ ンの別名 と し て使用する
自動 ラ ベルを使用すれば、 p4 labelsync コ マ ン ド を発行せずに フ ァ イ ルの特定の リ ビ ジ ョ
ン を指定す る こ と がで き ます。
自動 ラ ベルを作成す る には、p4 label フ ォーム の [Revision:] フ ィ ール ド に リ ビ ジ ョ ン指
定子を入力 し ます。 ワー ク スペース を自動 ラ ベルに同期 さ せ る と 、 [Revision:] フ ィ ール ド
の内容が [View:] フ ィ ール ド のすべての フ ァ イ ルに適用 さ れ ます。
例 : 自動 ラ ベルをチ ェ ン ジ リ ス ト 番号の別名 と し て使用す る
アールは毎晩ビル ド 処理を実行 し てお り 、 チ ェ ン ジ リ ス ト 1234 と し て製品の構築に成功
し ま し た。 毎晩のビル ド ご と に固有のチ ェ ン ジ リ ス ト を覚え てお く 必要がない よ う 、 アー
ルは p4 label nightly20111201 と 入力 し て ラ ベルの [Revision:] フ ィ ール ド を使用
90
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 7 章 : ラ ベル
し 、 自動的にチ ェ ン ジ リ ス ト 1234 のすべての フ ァ イ ルに nightly20111201 ラ ベルが
タ グ付け さ れ る よ う に し ます。
Label:
nightly20111201
Owner:
earl
Description:
Nightly build process.
Options:
unlocked noautoreload
View:
//depot/...
Revision:
@1234
こ の方法の利点は、 ス ク リ プ ト 作成に非常に適 し てお り 、 ラ ベル ・ テーブルの領域を ほ と
ん ど占有せず、 毎晩の ビ ル ド を簡単に参照す る 方法を提供 し てい る こ と です。 それに よ
り 、ど のチ ェ ン ジ リ ス ト 番号が ど の晩のビル ド 処理に関連付け ら れてい る かを覚えてお く
必要はあ り ません。
例 : あ る 1 つのチ ェ ン ジ リ ス ト でサブ ミ ッ ト さ れた一連のフ ァ イ ルを限定的に参照す る
あ る バグがチ ェ ン ジ リ ス ト 1238 に よ り 修正 さ れてお り 、 その修正に関連する フ ァ イ ルの
みを参照す る パ ッ チ ・ ラ ベルが必要です。 アールは p4 label patch20111201 と 入
力 し て ラ ベルの [Revision:] フ ィ ール ド を使用 し 、 自動的にチ ェ ン ジ リ ス ト 1238 で
サブ ミ ッ ト さ れた フ ァ イ ルにのみ patch20111201 ラ ベルが タ グ付け さ れ る よ う に し ます。
Label:
patch20111201
Owner:
earl
Description:
Patch to 2011/12/01 nightly build.
Options:
unlocked noautoreload
View:
//depot/...
Revision:
@1238,1238
こ の自動 ラ ベルは、 チ ェ ン ジ リ ス ト 1238 でサブ ミ ッ ト さ れた フ ァ イ ルのみを参照 し てい
ます。
例 : 複数のチ ェ ン ジ リ ス ト にあ る 各フ ァ イ ルについて最初の リ ビ ジ ョ ン を参照す る
チ ェ ン ジ リ ス ト 指定子以外に リ ビ ジ ョ ン指定子を使用す る こ と がで き ます。 こ の例では、
アールはブ ラ ンチ内の各フ ァ イ ルについて最初の リ ビ ジ ョ ン (#1) を参照 し てい ます。 ブ
ラ ンチの実装方法に よ っ て、こ れ ら の フ ァ イ ルは長い期間を経て複数のチ ェ ン ジ リ ス ト か
ら 作成 さ れた可能性があ り ます。
Label:
first2.2
Owner:
earl
Description:
The first revision in the 2.2 branch
Options:
unlocked noautoreload
View:
//depot/release/jam/2.2/src/...
Revision:
"#1"
PERFORCE のフ ォームでは、 # は コ メ ン ト を表すために使われ る ため、 アールは # を二重
引用符で囲み、 こ の文字が リ ビ ジ ョ ン指示子 と し て解析 さ れ る よ う に し てい ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
91
第 7 章 : ラ ベル
フ ァ イルへの誤っ た タ グ付けおよび取 り 外 し を防ぐ
ク ラ イ ア ン ト ・ ワー ク スペースお よ び ラ ベル ・ ビ ュ ー (設定 し てい る 場合) にあ る フ ァ イ ルに
タ グ 付 け し 、 そ れ 以 外 の フ ァ イ ル か ら は タ グ を 取 り 外 す に は、 引 数 を 指 定 せ ず に p4
labelsync コ マ ン ド を発行 し ます。フ ァ イ ルへの誤っ た タ グ付けお よ び取 り 外 し を防 ぐ には、
p4 label labelname コ マ ン ド を発行 し 、 ラ ベル ・ フ ォ ームの [Options:] フ ィ ール ド の値
を locked に設定す る こ と に よ っ て、 ラ ベルを ロ ッ ク し ます。 他のユーザが ラ ベルの ロ ッ ク を
解除で き ない よ う にす る には、 [Owner:] フ ィ ール ド を設定 し ます。 PERFORCE の権限について
詳 し く は、 『PERFORCE シ ス テ ム管理者ガ イ ド 』 を参照 し て く だ さ い。
92
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
欠陥追跡
第8章
ジ ョ ブ と は、 PERFORCE に よ り 管理 さ れ る 番号付 き の (ま たは名前が付け ら れた) 作業要求で
す。 PERFORCE ジ ョ ブに よ り 、 バグや改善要求の ス テー タ ス を追跡 し 、 修正お よ び改善を実装
す る チ ェ ン ジ リ ス ト にそれ ら を関連付け る こ と がで き ます。ジ ョ ブは、フ ィ ール ド の内容、ジ ョ
ブの入力日付 ま たは最終更新日付、 その他多 く の検索基準に基づいて検索す る こ と がで き ま
す。
PERFORCE 管理者は、 サ イ ト での要求に従っ て ジ ョ ブ仕様を カ ス タ マ イ ズで き ま す。 ジ ョ ブ仕
様の変更について詳 し く は、 『PERFORCE シ ス テ ム管理者ガ イ ド 』 を ご覧 く だ さ い。
PERFORCE を社内で稼動 し てい る 欠陥追跡シ ス テ ム と 統合す る か、 サー ド ・ パーテ ィ の欠陥追
跡シ ス テ ム と の統合を開発す る には、 P4DTG(Perforce Defect Tracking Gateway) を使用 し ます。
P4DTG は、 グ ラ フ ィ カルな構成エデ ィ タ と 複製エ ン ジ ン の両方を含む統合プ ラ ッ ト フ ォ ーム
です。 詳 し く は、 下記サ イ ト を参照 し て く だ さ い。
http://www.perforce.com/product/components/defect_tracking_gateway
ジ ョ ブの管理
PERFORCE のデフ ォ ル ト のジ ョ ブ命名 ス キーム を使用 し て ジ ョ ブ を作成す る には、 p4 job コ
マ ン ド を発行 し ます。 新 し いジ ョ ブに名前を割 り 当て る (ま たは既存のジ ョ ブ を編集す る ) に
は、 p4 job jobname コ マ ン ド を発行 し ます。
例 : ジ ョ ブの作成
ゲ イ ルは Jam に関す る 問題を発見 し たので、 p4 job コ マ ン ド を発行 し て ジ ョ ブ を作成
し 、 その説明を次の よ う に記述 し ます。
Job:
job000006
Status:
open
User:
gale
Date:
2011/11/14 17:12:21
Description:
MAXLINE can't account for expanded cmd buffer size.
以下の表に、 デフ ォ ル ト のジ ョ ブ仕様にあ る フ ィ ール ド を記述 し ます。
フ ィ ール ド 名
説明
Job
ジ ョ ブの名前 (空白は不可)。デフ ォ ル ト では、PERFORCE 最新のジ ョ ブ番号 + 1
は番号 を 付け る 方式で ジ ョ ブ名 を 割 り 当て ま す
(jobnnnnnn) 。
Status
・ open: 修正が済んでいないジ ョ ブ。
・ closed: 完了 し たジ ョ ブ。
・ suspended: 現在作業が保留 さ れてい る ジ ョ ブ。
User
ジ ョ ブが割 り 当て ら れてい る ユーザ。 通常、 こ の問題 ジ ョ ブ 作 成 者 の
の解決にあ た る 担当者のユーザ名。
PERFORCE でのユーザ名
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
デ フ ォル ト
open
93
第 8 章 : 欠陥追跡
フ ィ ール ド 名
説明
デ フ ォル ト
Date
ジ ョ ブを最後に変更 し た日付。
ジ ョ ブ の 保 存 時 に
PERFORCE に よ り 更 新 さ
れる。
Description
要求 さ れてい る 作業の説明。 例えば、 バグ の説明やシ な し 。説明の記述は必須。
ス テ ム改善要求。
既存のジ ョ ブ を編集す る には、 p4 job コ マ ン ド の発行時に p4 job jobname の形式でジ ョ
ブ名を指定 し ます。加え た変更を ジ ョ ブ ・ フ ォ ーム に入力 し 、 フ ォ ーム を保存 し て終了 し ます。
ジ ョ ブ を削除す る には、 p4 job -d jobname コ マ ン ド を発行 し ます。
ジ ョ ブの検索
PERFORCE ジ ョ ブ を検索す る には、 p4 jobs -e jobview コ マ ン ド を発行 し ます。 jobview
には、 以降のセ ク シ ョ ン で記述す る 検索式を指定 し ま す。 詳 し く は、 p4 help jobview コ
マ ン ド を発行 し て く だ さ い。
ジ ョ ブ ・ テキス ト を検索する
'word1 word2 ... wordN' と い う 式を使用 し て、 いずれかの フ ィ ール ド (日付フ ィ ール ド
を除 く ) に word1 か ら wordN のすべて を含むジ ョ ブ を検索す る こ と がで き ます。 UNIX では
単一引用符を、 Windows では二重引用符を使用 し て く だ さ い。
ジ ョ ブ を検索す る と き は、 以下の制限事項に注意 し て く だ さ い。
• 複数の単語を空白で区切っ て指定す る と 、PERFORCE は指定 さ れた すべての単語を含むジ ョ ブ
を検索 し ます。 単語の う ち どれかを 含むジ ョ ブ を検索す る には、 単語をパ イ プ (|) で区切っ
て く だ さ い。
• 式の中にあ る フ ィ ール ド 名 と 比較テ キ ス ト では、 大文字 と 小文字は区別 さ れ ません。
• 英数字テ キ ス ト お よ び句読文字に限 り 、 式に表す こ と がで き ます。 PERFORCE に よ り 論理演
算子 と し て使用 さ れ る 以下の文字 と 照合す る と き は、その前にバ ッ ク ス ラ ッ シ ュ を付けて く
だ さ い。 =^&|()<>
• 語句 (フ レーズ) を検索す る こ と はで き ません。 単語のみ検索で き ます。
例 : 指定の単語を含むジ ョ ブの検索
ブルー ノ は、 filter、 file、 mailbox と い う 語を含むすべてのジ ョ ブ を検索 し たい と
考え、 次の よ う に入力 し ます。
p4 jobs -e 'filter file mailbox'
例 : いずれかのフ ィ ール ド に一連の単語の う ち どれかを含むジ ョ ブの検索
ブルー ノ は、 filter、 file、 mailbox と い う 単語の どれか を含むジ ョ ブを検索 し たい
と 考え、 次の よ う に入力 し ます。
p4 jobs -e 'filter|file|mailbox'
ワ イ ル ド カ ー ド 「*」 を 使 用 し て、 1 つ 以 上 の 文 字 と 照 合 す る こ と が で き ま す。 例 え ば
fieldname=string* と い う 式には、string、strings、stringbuffer な ど が適合 し ます。
ワ イ ル ド カー ド に使用 さ れ る 文字を含む単語を検索す る には、 コ マ ン ド において ワ イ ル ド カー
ド 文字の前にバ ッ ク ス ラ ッ シ ュ を 付 け ま す。 例 え ば、 *string と い う 語 (お そ ら く char
*string を参照) を検索す る には、 次の コ マ ン ド を発行 し ます。
p4 jobs -e '\*string'
94
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 8 章 : 欠陥追跡
特定のフ ィ ール ド の検索
特定フ ィ ール ド の値に基づいて検索す る には、 field=value を指定 し ます。
例 : 特定フ ィ ール ド 内に指定の単語を含むジ ョ ブの検索
ブルー ノ は、 フ ィ ル タ リ ン グに関連す る作業状態のジ ョ ブをすべて検索 し たい と 考え、 次
の よ う に入力 し ます。
p4 jobs -e 'Status=open User=bruno filter.c'
こ の コ マ ン ド に よ り 、 [Status:] (状態) フ ィ ール ド が open、 [User:] (ユーザ)
フ ィ ール ド が bruno で、日付フ ィ ール ド 以外のど こ かに単語 filter.c を含むすべての
ジ ョ ブが検索 さ れます。
指定 さ れた表現を含ま ない フ ィ ール ド を検索す る には、その前に否定演算子であ る ^ を付け ま
す。 否定演算子 ^ は、 ア ン ド 式 (スペース ま たは &) の直後に し か使用で き ません。 例えば、
p4 jobs -e '^user=bruno' は使用で き ません。 こ の よ う な制限を回避す る には、 ワ イ ル
ド カー ド 「*」 を使用 し て、 ^ を付け た語の前に検索語を追加 し ま す。 例えば、 p4 jobs -e
'job=* ^user=bruno' と す る と ブルー ノ が所有 し ていないすべてのジ ョ ブが返 さ れます。
例 : あ る フ ィ ール ド に特定の値が含まれてい る ジ ョ ブを除外す る
ブルー ノ は、 フ ィ ル タ リ ン グに関連 し 、 自分が所有者でない作業状態のジ ョ ブをすべて検
索 し たい と 考え、 次の よ う に入力 し ます。
p4 jobs -e 'status=open ^user=bruno filter'
こ の コ マ ン ド に よ り 、 ブルー ノ が所有 し ていない、 filter と い う 単語を含む作業状態の
ジ ョ ブがすべて表示 さ れます。
比較演算子の使用
使用可能な比較演算子は、 =、 >、 <、 >=、 <=、 お よ びブールの NOT を示す ^ です。
こ れ ら の演算子の動作は、 式の中にあ る フ ィ ール ド の タ イ プに よ り 異な り ます。 以下の表に、
フ ィ ール ド ・ タ イ プお よ びその タ イ プが ど の よ う に検索 さ れ る か を示 し ます。
フ ィ ール ド ・ 説明
タ イプ
注意
word
等価演算子 (=) には、 指定フ ィ ール ド の値が、 指
定 し た 単語に完全に一致す る ジ ョ ブ が適合 し ま
す。
1 つの単語
関係演算子は、 ASCII の順番に沿っ て比較を実行
し ます。
text
フ ィ ール ド 名の下の行に入力 等価演算子 (=) には、 指定フ ィ ール ド に指定 さ れ
さ れた、1 つのテ キ ス ト の ま と た値が含まれてい る ジ ョ ブが適合 し ます。
まり
こ の フ ィ ール ド ・ タ イ プにおけ る 関係演算子の使
用は、 限定的な も のです。 指定 し た フ ィ ール ド 内
の単語の う ち、 1 つで も 指定 し た値 と 合致すれ
ば、 そのジ ョ ブが適合す る こ と にな る か ら です。
例えば、 gui bug と い う 語句のみを含む
ShortDescription: と い う テ キ ス ト ・ フ ィ ー
ル ド を持つジ ョ ブがあ り 、 式が
'ShortDesc<filter' であ る 場合、
bug<filter なので、 こ のジ ョ ブはその式に適
合 し ます。
line
フ ィ ール ド 名 と 同一の行に入 text と 同 じ
力 さ れた、 1 行のテ キ ス ト
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
95
第 8 章 : 欠陥追跡
フ ィ ール ド ・ 説明
タ イプ
注意
select
1 組の値セ ッ ト の う ち 1 つ。
例えば、 ジ ョ ブの状態は
open/suspended/closed
の どれかにな り ます。
等価演算子 (=) には、 フ ィ ール ド の値が特定の単
語 で あ る ジ ョ ブ が 適合 し ま す。 関係演算子 は、
ASCII の順番に沿っ て比較を実行 し ます。
date
日付お よ び任意指定 の 時刻。 日付は時系列で適合 し ます。 特定の時刻を指定 し
例えば、
な い場合、 演算子 =、 <=、 お よ び >= に よ っ て、
その日の時刻すべてが適合 し ます。
2011/07/15:13:21:40
bulk
text と 類似 し てい ますが、 検 こ れ ら の フ ィ ール ド は p4 jobs -e を使用 し て検
索用 イ ン デ ッ ク ス は付け ら れ 索で き ません。
てい ません。
フ ィ ール ド ・ タ イ プが分か ら ない場合、 p4 jobspec -o コ マ ン ド を発行すればジ ョ ブ仕様が
表示 さ れ ます。 [Fields:] フ ィ ール ド に、 ジ ョ ブ ・ フ ィ ール ド の名前 と デー タ ・ タ イ プが一覧
表示 さ れ ます。
日付フ ィ ール ド の検索
日付 フ ィ ール ド を検索す る には、 yyyy/mm/dd ま たは yyyy/mm/dd:hh:mm:ss の書式を使
用 し て日付を指定 し ます。 特定の時刻を指定 し ない場合、 等価演算子 (=) にはその日のすべて
の時刻が適合 し ます。
例 : 式の中での日付の使用
ブルー ノ は 2011 年 7 月 13 日に変更 し たすべてのジ ョ ブ を参照 し たい と 考え、次の よ う に
入力 し ます。
p4 jobs -e 'ModifiedDate=2011/07/13'
ジ ョ ブの修正
ジ ョ ブ を修正す る には、 そのジ ョ ブ を チ ェ ン ジ リ ス ト に リ ン ク し て、 チ ェ ン ジ リ ス ト を サブ
ミ ッ ト し ま す。 チ ェ ン ジ リ ス ト が サ ブ ミ ッ ト さ れ る と 、 PERFORCE は 自 動 的 に ジ ョ ブ の
[Status:] フ ィ ール ド の値を closed に変更 し ます。
ジ ョ ブ をチ ェ ン ジ リ ス ト に リ ン ク す る 方法には、 以下の 3 つがあ り ます。
• p4 user フ ォ ームの [JobView:] フ ィ ール ド に、 ジ ョ ブに適合す る 式を設定 し ます。
• p4 fix コ マ ン ド を使用 し ます。
• p4 submit フ ォ ーム を編集 し ます。
ジ ョ ブ を編集す る こ と に よ り 直接ジ ョ ブ ・ ス テー タ ス を変更で き ま すが、 手動で ジ ョ ブ を ク
ロ ーズす る と 、 そのジ ョ ブ を修正 し たチ ェ ン ジ リ ス ト と の関連付けが失われます。 [Status:]
フ ィ ール ド を削除 し て自分のサ イ ト のジ ョ ブ仕様を変更 し てい る 場合、 ジ ョ ブ をチ ェ ン ジ リ ス
ト に リ ン ク す る こ と は可能ですが、 チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れてい る と 、 ス テー タ ス は
変更で き ま せん。 (多 く の場合、 こ れは期待 さ れ る 処理方法で は あ り ま せん。 ) 詳 し く は、
『PERFORCE シ ス テ ム管理者ガ イ ド 』 のジ ョ ブ仕様の編集に関す る 章を ご覧 く だ さ い。
ジ ョ ブ をチ ェ ン ジ リ ス ト か ら 削除す る には、 p4 fix -d コ マ ン ド を発行 し ます。
自動的に リ ン ク する
PERFORCE ユーザ仕様を変更 し て、 自動的に作業状態のジ ョ ブ を作成 し た任意のチ ェ ン ジ リ ス
ト 上に組み込む こ と がで き ます。 自動組み込みを設定す る には、 p4 user コ マ ン ド を発行 し 、
[JobView:] フ ィ ール ド の値に組み込みたいジ ョ ブ を特定す る 有効な式を設定 し ます。
96
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 8 章 : 欠陥追跡
例 : 自動的にジ ョ ブをチ ェ ン ジ リ ス ト に リ ン ク す る
ブルー ノ は、自分が作成 し たすべてのチ ェ ン ジ リ ス ト 内で自分が所有 し てい る 作業状態の
ジ ョ ブをすべて参照 し たい と 考え、 p4 user と 入力 し 、 [JobView:] フ ィ ール ド に次の
よ う に追加 し ます。
User:
Update:
Access:
JobView:
bruno
2011/06/02 13:11:57
2011/06/03 20:11:07
user=bruno&status=open
こ れでブルー ノ が所有 し てい る 作業状態のジ ョ ブがすべて、 自動的に彼のデフ ォ ル ト ・
チ ェ ン ジ リ ス ト に組み込まれます。 チ ェ ン ジ リ ス ト をサブ ミ ッ ト す る と き、 ブルー ノ は彼
がサブ ミ ッ ト す る チ ェ ン ジ リ ス ト で修正 さ れていないジ ョ ブ を確実に削除 し な ければな
り ません。
手動で リ ン ク する
ジ ョ ブ を手動でチ ェ ン ジ リ ス ト に リ ン ク す る には、 p4 fix -c changenum jobname コ マ
ン ド を発行 し ます。そのチ ェ ン ジ リ ス ト が既にサブ ミ ッ ト さ れていれば、ジ ョ ブの [Status:]
フ ィ ール ド の値は closed に変化 し ます。 それ以外の場合は、 ジ ョ ブの ス テー タ ス は変わ り ま
せん。
例 : 手動でジ ョ ブをチ ェ ン ジ リ ス ト に リ ン ク す る
p4 fix を使用 し て、チ ェ ン ジ リ ス ト を他のユーザが所有す る ジ ョ ブに リ ン ク す る こ と が
で き ます。
サ ラ は options-bug と い う ジ ョ ブ を ブルー ノ に割 り 当て た と こ ろ ですが、 そのバグは
すでに、 ブルー ノ が以前にサブ ミ ッ ト し たチ ェ ン ジ リ ス ト 18 で修正 さ れてい ま し た。 ブ
ルー ノ は次の よ う に入力 し て、 ジ ョ ブ を そのチ ェ ン ジ リ ス ト に リ ン ク し ます。
p4 fix -c 18 options-bug
チ ェ ン ジ リ ス ト 18 は既にサブ ミ ッ ト さ れてい る ので、 ジ ョ ブの状態は closed. に変わ
り ます。
ジ ョ ブ を チ ェ ン ジ リ ス ト に リ ン ク する
チ ェ ン ジ リ ス ト を サブ ミ ッ ト ま たは編集す る 際にジ ョ ブ を チ ェ ン ジ リ ス ト に リ ン ク す る には、
チ ェ ン ジ リ ス ト 仕様の [Jobs:] フ ィ ール ド にジ ョ ブ名を入力 し ます。 チ ェ ン ジ リ ス ト を サブ
ミ ッ ト す る と 、 ジ ョ ブは (デフ ォ ル ト では) ク ロ ーズ さ れ ます。
作業中チ ェ ン ジ リ ス ト への ジ ョ ブ の リ ン ク を 解除す る に は、 チ ェ ン ジ リ ス ト を 編集 し て、
[Jobs:] フ ィ ール ド か ら ジ ョ ブの名前を削除 し ます。 サブ ミ ッ ト 済チ ェ ン ジ リ ス ト へのジ ョ
ブの リ ン ク を解除す る には、 fix -d -c changenum jobname コ マ ン ド を発行 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
97
第 8 章 : 欠陥追跡
98
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
ス ク リ プ ト と レポー ト に使用する
コ マン ド
第9章
本章では p4 コ マ ン ド の ス ク リ プ ト 内での使用法、 お よ びレ ポー ト 目的での使用法について詳
し く 説明 し ます。 特定の コ マ ン ド に関す る 詳細な説明は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』
を ご覧にな る か、 p4 help コ マ ン ド を発行 し て く だ さ い。
ス ク リ プ ト と レ ポー ト の共通オプ シ ョ ン
以下の コ マ ン ド ラ イ ン ・ オプシ ョ ン に よ り 、 コ マ ン ド ラ イ ン上お よ びス ク リ プ ト 内で設定を指
定す る こ と がで き ます。 詳細な情報は、 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 のグ ロ ーバル ・
オプシ ョ ン に関す る 説明を参照 し て く だ さ い。
オプ シ ョ ン
説明
-b batchsize
コ マ ン ド を -x argfile に よ っ て処理す る 際に使用す る バ ッ チサ
イ ズ (引数の数) を指定 し ます。 デフ ォ ル ト では、 一度に 128 個の
引数が読み取 ら れます。
-c client_workspace
ク ラ イ ア ン ト ・ ワー ク スペース名を指定 し ます。
-G
すべての出力 (お よ びフ ォーム ・ コ マ ン ド に対 し て -i で指定す る
一括入力) を、 整列 さ れた Python デ ィ レ ク ト リ ・ オブジ ェ ク ト と
し て フ ォーマ ッ ト し ます。
-p protocol:host:port
PERFORCE サービ ス のホ ス ト お よ びポー ト 番号 と と も に、 接続に使
用 さ れ る プ ロ ト コ ルを指定 し ます。
-P password
設定 さ れてい る 場合、 ユーザ ・ パ ス ワ ー ド を指定 し ます。 ( コ マ ン
ド を発行す る たびにパ ス ワー ド を指定す る 代わ り に) ス ク リ プ ト で
コ マ ン ド の実行前に ロ グ イ ンす る よ う に し たい場合、p4 login コ
マ ン ド を使用 し ます。
例 :echo 'mypassword' | p4 login
-s
PERFORCE コ マ ン ド に よ り 生成 さ れた出力の各行の最初に、 説明的
な フ ィ ール ド (text:、info:、error:、exit: な ど)を追加 し ます。
-u user
PERFORCE ユーザ名を指定 し ます。
-x argfile
指定の フ ァ イ ルか ら 1 行ご と に 1 つずつ、 引数を読み込みます。
argfile が単一のハ イ フ ン (-) であ る 場合、標準入力か ら 読み込ま
れます。
PERFORCE フ ォ ームに よ る ス ク リ プ ト 記述
ス ク リ プ ト が p4 client や p4 submit な ど の よ う にユーザに フ ォ ームへの入力を要求す
る コ マ ン ド を発行す る 場合、 -o オプシ ョ ン を使用 し て標準出力に フ ォ ーム を書 き 込み、 -i オ
プシ ョ ン を使用 し て標準入力か ら 編集後の フ ォ ーム を読み込みます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
99
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
例えば、 UNIX の ス ク リ プ ト を使用 し てジ ョ ブ を作成す る には、 以下の よ う に し ます。
1.
p4 job -o > temp1 コ マ ン ド を発行 し 、 空白のジ ョ ブ仕様を テ キ ス ト ・ フ ァ イ ルに書
き 込みます。
2.
ジ ョ ブに必要な変更を加え ます。
例:sed 's/<enter description here>/Crashes on exit./' temp1 > temp2
3.
p4 job -i < temp2 コ マ ン ド を発行 し て ジ ョ ブ を保存 し ます。
一時フ ァ イ ルを作成せずに上記の処理を実行す る には、 次の コ マ ン ド を発行 し ます。
p4 job -o | sed 's/<enter description here>/Crashes on exit./' | p4 job -i
フ ォーム を表示す る コ マ ン ド は以下の と お り です。
• p4 branch
• p4 change
• p4 client
• p4 job
• p4 label
• p4 submit ( チ ェ ン ジ リ ス ト の作成には p4 change -o を使用。 チ ェ ン ジ リ ス ト のサブ ミ ッ ト 時に
デ フ ォ ル ト ・ チ ェ ン ジ リ ス ト に コ メ ン ト を 入 れ る に は、 p4
description" を使用。 )
submit
-d
"A
changelist
• p4 stream
• p4 user
フ ァ イルのレポー ト
次のセ ク シ ョ ン では、 フ ァ イ ルの状態 と 場所に関す る 情報を提供す る コ マ ン ド を説明 し ます。
次の表に、 基本的で非常に有用な レ ポー ト ・ コ マ ン ド を示 し ます。
表示 さ せたい内容
使用する コ マ ン ド
フ ァ イ ルの状態。 フ ァ イ ル タ イ プ、 最新 リ ビ ジ ョ ン番号、 その他の情 p4 files
報な ど。
フ ァ イ ル ・ リ ビ ジ ョ ン を、 最新の も のか ら 最 も 古い も の ま で表示
p4 filelog
現在作業状態のフ ァ イ ル
p4 opened
p4 sync の結果を プ レ ビ ュ ー
p4 sync -n
p4 sync のプ レ ビ ュ ーを要約 し 、 ネ ッ ト ワ ー ク ・ ト ラ フ ィ ッ ク を予測
4 sync -N
現在同期 さ れてい る フ ァ イ ル
p4 have
指定 さ れた フ ァ イ ルの内容
p4 print
フ ァ イ ルのデ ィ ポでの場所 と 対応す る ワ ー ク ス ペー ス の場所 と のマ ッ
ピング
p4 where
フ ァ イ ルの一覧お よ びフ ァ イ ルに関する 詳細情報
p4 fstat
フ ァ イルの状態を表示する
フ ァ イ ルの 1 つの リ ビ ジ ョ ン の情報を表示す る には、 p4 files コ マ ン ド を発行 し ます。 こ の
コ マ ン ド はデ ィ ポ内での フ ァ イ ルの場所、指定 リ ビ ジ ョ ン でそれ ら の フ ァ イ ルに行われた動作
(add、 edit、 delete な ど)、 指定フ ァ イ ル ・ リ ビ ジ ョ ンがサブ ミ ッ ト さ れたチ ェ ン ジ リ ス ト 、
お よ びフ ァ イ ルの タ イ プ を表示 し ます。 p4 files コ マ ン ド の出力例を示 し ます。
//depot/README#5 - edit change 6 (text)
100
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
p4 files コ マ ン ド には 1 つ以上の filespec 引数が必要です。filespec 引数の指定に ロ ー
カル ・ シ ン タ ッ ク ス、 ク ラ イ ア ン ト ・ シ ン タ ッ ク ス、 デ ィ ポ ・ シ ン タ ッ ク ス の う ち どれを使用
す る かに関係な く 、 p4 file コ マ ン ド はデ ィ ポ ・ シ ン タ ッ ク ス を使用 し て結果を表示 し ます。
リ ビ ジ ョ ン番号を指定 し ない場合、 最新 リ ビ ジ ョ ン の情報を表示 し ます。 p4 files の出力に
は削除 さ れた リ ビ ジ ョ ン も 含ま れ ます。
次の表に、 p4 files コ マ ン ド の一般的な使用方法をい く つか示 し ます。
表示 さ せたい状態
使用する コ マ ン ド
ク ラ イ ア ン ト ・ ワー ク スペース ・ ビ ュ ーに関係な く 、デ ィ
ポ内のすべてのフ ァ イ ル。
p4 files //depot/...
非常に多 く のフ ァ イ ルを含むデ ィ ポの場合、 必要がない
限 り デ ィ ポ全体 (//depot/...) を参照す る コ マ ン ド
を 発行 し な い よ う に し て パ フ ォ ーマ ン ス を 最良にす る
こ と がで き ます。 パフ ォーマ ン ス を最良にす る ため、 目
的のデ ィ レ ク ト リ お よ び フ ァ イ ルのみ を 指定す る よ う
に し て く だ さ い。
指定 さ れた ク ラ イ ア ン ト ・ ワー ク スペース に現在同期 さ
せてい る フ ァ イ ル
p4 files @workspacename
自分の ク ラ イ ア ン ト ・ ワー ク スペース ・ ビ ュ ーにマ ッ ピ p4 files //workspacename/...
ン グ さ れてい る フ ァ イ ル
現在作業中のデ ィ レ ク ト リ にあ る 特定のフ ァ イ ル
p4 files filespec
特定のフ ァ イ ル ・ リ ビ ジ ョ ン
p4 files filespec#rev
フ ァ イ ルが そ のチ ェ ン ジ リ ス ト でサブ ミ ッ ト さ れた か p4 files filespec@changenum
ど う かに関わ ら ず、 チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れた
時点の特定のフ ァ イ ル
特定の ラ ベルで タ グが付け ら れてい る フ ァ イ ル
p4 files filespec@labelname
フ ァ イルの リ ビ ジ ョ ン履歴の表示
フ ァ イ ルの リ ビ ジ ョ ン履歴を表示す る には、p4 filelog filespec コ マ ン ド を発行 し ます。
以下の例に、 p4 filelog に よ り ど の よ う に リ ビ ジ ョ ン履歴が表示 さ れ る か を示 し ます。
p4 filelog //depot/dev/main/jam/jam.c
//depot/dev/main/jam/jam.c
... #35 change 627 edit on 2011/11/13 by earl@earl-dev-yew (text)
'Handle platform variants better'
... #34 change 598 edit on 2011/10/24 by raj@raj-althea (text) 'Reverse
previous attempt at fix'
... ... branch into //depot/release/jam/2.2/src/jam.c#1
... #33 change 581 edit on 2011/10/03 by gale@gale-jam-oak (text)
'Version strings & release notes'
各チ ェ ン ジ リ ス ト の説明をすべて表示す る には、 -l オプシ ョ ン を指定 し ます。
作業状態のフ ァ イルを一覧表示する
現在 ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス内で作業状態 と な っ てい る フ ァ イ ルを一覧表示す る には、
p4 opened filespec コ マ ン ド を発行 し ます。 次に示す行は、 p4 opened コ マ ン ド に よ る
出力表示の例です。
//depot/dev/main/jam/fileos2.c- edit default change (text)
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
101
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
次の表に、 p4 opened コ マ ン ド の一般的な使用方法をい く つか示 し ます。
一覧表示する内容
使用する コ マ ン ド
現在の ワ ー ク スペース で作業状態にな っ てい る フ ァ イ ル
p4 opened
すべて の ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス に あ る 作業状態の p4 opened -as
フ ァ イル
p4 opened -a
番号付 き の作業中チ ェ ン ジ リ ス ト に含まれてい る フ ァ イ ル
p4 opened -c changelist
デフ ォ ル ト チ ェ ン ジ リ ス ト に含まれてい る フ ァ イ ル
p4 opened -c default
特定の フ ァ イ ルが自分の ワ ー ク ス ペー ス で作業状態に な っ p4 opened filespec
てい る か ど う か
p4 opened -a filespec
特定のフ ァ イ ルが作業状態にな っ てい る か ど う か
フ ァ イルの場所を表示する
フ ァ イ ルの場所に関す る 情報を表示す る には、p4 where、 p4 have、お よ び p4 sync -n の
各 コ マ ン ド を使用 し ます。
• デ ィ ポ ・ シ ン タ ッ ク ス、 ク ラ イ ア ン ト ・ シ ン タ ッ ク ス、 ロ ーカル ・ シ ン タ ッ ク ス で フ ァ イ ル
の場所を表示す る には、 p4 where コ マ ン ド を発行 し ます。
• 自分の ク ラ イ ア ン ト ・ ワー ク スペース に最後に同期 さ せた フ ァ イ ルの場所お よ び リ ビ ジ ョ ン
を リ ス ト 表示す る には、 p4 have コ マ ン ド を発行 し ます。
• フ ァ イ ルが自分の ワー ク スペース内の ど こ に同期 さ れたか を調べ る には、 p4 sync -n コ
マ ン ド を発行 し て同期結果を プ レ ビ ュ ー し ます。
上記の コ マ ン ド では、 filespec 引数を付けて も 付けな く て も 使用で き ます。
次の表に、 フ ァ イ ルの場所を知 る ための有用な コ マ ン ド をい く つか示 し ます。
表示する内容
使用する コ マ ン ド
自分の ワ ー ク ス ペー ス に同期 さ せて い る フ ァ イ ルの リ
ビ ジ ョ ン番号
p4 have filespec
デ ィ ポ内に あ る 特定の フ ァ イ ルが自分の ワ ー ク ス ペー p4 where //depot/filespec
ス のど こ にマ ッ ピ ン グ さ れてい る か
フ ァ イルの内容を表示する
デ ィ ポ内の フ ァ イ ルの内容を表示す る には、p4 print filespec コ マ ン ド を発行 し ます。こ
の コ マ ン ド は、 フ ァ イ ルを説明す る 1 行のヘ ッ ダ と と も に、 フ ァ イ ルの内容を標準出力ま たは
指定出力フ ァ イ ルに出力 し ます。 -q オプシ ョ ン を指定すれば、 ヘ ッ ダは出力 さ れ ません。 デ
フ ォ ル ト では最新 リ ビ ジ ョ ン が表示 さ れ ますが、 フ ァ イ ル ・ リ ビ ジ ョ ン を指定す る こ と も で き
ます。
表示 さ せたい フ ァ イル内容
使用する コ マ ン ド
最新 リ ビ ジ ョ ン
p4 print filespec
ヘ ッ ダ を含ま ない フ ァ イ ル内容
p4 print -q filespec
特定のチ ェ ン ジ リ ス ト 番号のフ ァ イ ル
p4 print filespec@changenum
注釈 (フ ァ イル内容への変更の詳細情報) を表示する
テ キ ス ト フ ァ イ ルの ど の行を ど の フ ァ イ ル ・ リ ビ ジ ョ ン ま たはチ ェ ン ジ リ ス ト で変更 し たか を
調べ る には、 p4 annotate コ マ ン ド を発行 し ます。
デフ ォ ル ト では、 p4 annotate はフ ァ イ ルの各行を表示 し 、 変更 し た リ ビ ジ ョ ンがわか る よ
う に、 各行の先頭に リ ビ ジ ョ ン番号が付加 さ れ ます。 リ ビ ジ ョ ン番号ではな く チ ェ ン ジ リ ス ト
番号を表示す る には、 -c オプシ ョ ン を指定 し ます。
102
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
例 : p4 annotate を使っ て、 フ ァ イ ルへの変更を表示
デ ィ ポに フ ァ イ ル (file.txt#1) が追加 さ れ、 フ ァ イ ルには以下の行が含まれてい ます。
This is a text file.
The second line has not been changed.
The third line has not been changed.
3 行目が削除 さ れ、 2 行目が編集 さ れて、 file.txt#2 は次の よ う にな り ます。
This is a text file.
The second line is new.
p4 annotate お よ び p4 annotate -c の出力は次の よ う にな り ます。
$ p4 annotate file.txt
//depot/files/file.txt#3 - edit change 153 (text)
1: This is a text file.
2: The second line is new.
$ p4 annotate -c file.txt
//depot/files/file.txt#3 - edit change 153 (text)
151: This is a text file.
152: The second line is new.
file.txt の最初の行は リ ビ ジ ョ ン 1 か ら 存在 し 、 こ の リ ビ ジ ョ ン はチ ェ ン ジ リ ス ト
151 でサブ ミ ッ ト さ れてい ま す。 2 行目は リ ビ ジ ョ ン 2 か ら 存在 し 、 その リ ビ ジ ョ ン は
チ ェ ン ジ リ ス ト 152 でサブ ミ ッ ト さ れてい ます。
こ の フ ァ イ ル のすべ て の行 を (削除 さ れ た 行 を 含め) 表示す る に は、 次の よ う に p4
annotate -a を実行 し ます。
$ p4 annotate -a file.txt
//depot/files/file.txt#3 - edit change 12345 (text)
1-3: This is a text file.
1-1: The second line has not been changed.
1-1: The third line has not been changed.
2-3: The second line is new.
出力の最初の行は、フ ァ イ ルの 1 行目が リ ビ ジ ョ ン 1 か ら 3 ま で存在 し てい る こ と を示 し
てい ます。 次の 2 行は、 file.txt の こ れ ら の行が リ ビ ジ ョ ン 1 にのみ存在 し た こ と を示
し てい ます。 最後の行は、 リ ビ ジ ョ ン 2 で追加 さ れた行が リ ビ ジ ョ ン 3 に も 存在 し てい る
こ と を示 し てい ます。
-a オプシ ョ ン と -c オプシ ョ ン を組み合わせ る と 、 こ れ ま で こ の フ ァ イ ルに存在 し たす
べての行 と 、 各行が存在 し たチ ェ ン ジ リ ス ト 番号 ( リ ビ ジ ョ ン番号ではない) を表示す る
こ と がで き ます。
フ ァ イルへの変更を監視する
フ ァ イ ルへの変更を発生の都度追跡す る ために、 PERFORCE のチ ェ ン ジ ・ レ ビ ュ ー ・ デーモ ン
を使用で き ま す。 こ れに よ り 、 PERFORCE ユーザが目的の フ ァ イ ルやデ ィ レ ク ト リ を指定 し た
り 、特定の フ ァ イ ルを変更す る チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れた と き に メ ールを受信す る こ
と がで き ます。 レ ビ ュ ー ・ デーモ ン の管理に関す る 詳細情報は、 『PERFORCE シ ス テ ム管理者ガ
イ ド 』、 お よ び 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 の p4 review コ マ ン ド の説明を参照 し
て く だ さ い。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
103
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
次の表に、 フ ァ イ ル、 チ ェ ン ジ リ ス ト 、 お よ びユーザの状態に関す る 情報を表示す る コ マ ン ド
を示 し ます。 こ れ ら の コ マ ン ド は レ ビ ュ ー ・ デーモ ン で よ く 使用 さ れ ます。
一覧表示 し たい内容
使用する コ マ ン ド
特定のフ ァ イ ルを閲覧す る ユーザ
p4 reviews filespec
特定のチ ェ ン ジ リ ス ト 内のフ ァ イ ルを閲覧する ユーザ
p4 reviews -c changenum
特定のユーザの電子 メ ール ・ ア ド レ ス
p4 users username
チ ェ ン ジ リ ス ト のレ ポー ト
p4 changes コ マ ン ド は特定の検索基準に合 う チ ェ ン ジ リ ス ト を一覧表示 し 、 p4 describe
コ マ ン ド は特定のチ ェ ン ジ リ ス ト に関連付け ら れてい る フ ァ イ ルやジ ョ ブ を一覧表示 し ます。
以下、 こ れ ら の コ マ ン ド について解説 し ます。
チ ェ ン ジ リ ス ト を一覧表示する
チ ェ ン ジ リ ス ト を一覧表示す る には、 p4 changes コ マ ン ド を発行 し ます。 デフ ォ ル ト では、
p4 changes はシ ス テ ム が認識 し てい る public タ イ プのチ ェ ン ジ リ ス ト と 当該ユーザがア
ク セ ス権限を持つ restricted タ イ プのチ ェ ン ジ リ ス ト についてそれぞれ 1 行ずつ表示 し ま
す。 以下の表に、 リ ス ト の フ ィ ル タ リ ン グに使用で き る コ マ ン ド ラ イ ン ・ オプシ ョ ン を示 し ま
す。
一覧表示 さ せたいチ ェ ン ジ リ ス ト
使用する コ マ ン ド
チ ェ ン ジ リ ス ト の記述の最初の 31 文字を表示
p4 changes
チ ェ ン ジ リ ス ト の完全な記述を表示
p4 changes -l
最新の n 個のチ ェ ン ジ リ ス ト
p4 changes -m n
特定の状態のチ ェ ン ジ リ ス ト
p4 changes -s pending
p4 changes -s submitted
changes -s shelved
特定ユーザに関連す る チ ェ ン ジ リ ス ト
p4 changes -u user
特定の ワ ー ク スペース に関連す る チ ェ ン ジ リ ス ト
p4 changes -c workspace
特定フ ァ イ ルに関連す る チ ェ ン ジ リ ス ト
p4 changes filespec
特定フ ァ イ ルに関連す る チ ェ ン ジ リ ス ト を示すが、 特 p4 changes -i filespec
定フ ァ イ ルの反映元 と な っ た フ ァ イ ルに関連す る チ ェ
ン ジ リ ス ト を含め る
特定フ ァ イ ルに関連す る チ ェ ン ジ リ ス ト を示 し 、 こ れ p4 changes filespec#m,#n
ら の フ ァ イ ルの リ ビ ジ ョ ン m と リ ビ ジ ョ ン n の間の
チ ェ ン ジ リ ス ト のみを含め る
ラ ベル lab1 と ラ ベル lab2 の間の各 リ ビ ジ ョ ン で、 p4 changes filespec@lab1,@lab2
特定フ ァ イ ルに関連す る チ ェ ン ジ リ ス ト
2 つの日付の間にサブ ミ ッ ト さ れたチ ェ ン ジ リ ス ト
p4 changes @date1,@date2
特定の日以降にサブ ミ ッ ト さ れたチ ェ ン ジ リ ス ト
p4 changes @date1,@now
チ ェ ン ジ リ ス ト に関連する フ ァ イル と ジ ョ ブ を一覧表示する
特定のチ ェ ン ジ リ ス ト に関連す る フ ァ イ ル と ジ ョ ブの一覧を、変更の差分 と と も に表示す る に
は、 p4 describe コ マ ン ド を発行 し ます。 差分を省略す る (短い形式の出力) には、 -s オ
104
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
プシ ョ ン を指定 し ます。 次の表に、 チ ェ ン ジ リ ス ト の レ ポー ト に使われ る 有用な コ マ ン ド を い
く つか示 し ます。
一覧表示 さ せたい内容
使用する コ マ ン ド
作業中チ ェ ン ジ リ ス ト に含まれ る フ ァ イ ル
p4 opened -c changenum
特定のチ ェ ン ジ リ ス ト でサブ ミ ッ ト さ れた フ ァ イ ル、 お p4 describe changenum
よ び修正 さ れたジ ョ ブ。 差分を含む。
特定のチ ェ ン ジ リ ス ト でサブ ミ ッ ト さ れた フ ァ イ ル、 お p4 describe -s changenum
よ び修正 さ れたジ ョ ブ。 差分は表示 し ない。
特定のチ ェ ン ジ リ ス ト に関連す る フ ァ イ ルお よ びジ ョ
ブ。 コ ン テ キ ス ト 差分オプシ ョ ン を基盤 と な る 比較プ ロ
グ ラ ムに渡す。
p4 describe -dc changenum
特定のチ ェ ン ジ リ ス ト におけ る 特定 フ ァ イ ルの状態を、 p4 files filespec@changenum
そ のチ ェ ン ジ リ ス ト が こ れ ら の フ ァ イ ルに関連す る か
ど う かに関わ ら ず表示
ジ ョ ブについて レ ポー ト す る その他の コ マ ン ド に関 し ては、106 ページの 「ジ ョ ブの レ ポー ト 」
を ご覧 く だ さ い。
ラ ベルのレポー ト
ラ ベルに関す る 情報を表示す る には、 p4 labels コ マ ン ド を発行 し ます。 次の表に、 ラ ベル
の レ ポー ト に使われ る 有用な コ マ ン ド を い く つか示 し ます。
一覧表示 さ せたい内容
使用する コ マ ン ド
すべての ラ ベル と その作成日付お よ び所有者
p4 labels
指定 し た フ ァ イ ル ・ リ ビ ジ ョ ン (ま たは リ ビ ジ ョ ン範囲) を含 p4 labels file#revrange
むすべての ラ ベル
特定の ラ ベルで タ グ付け さ れた フ ァ イ ル
p4 files @labelname
ラ ベルを同期 さ せた結果のプ レ ビ ュ ー
p4 sync -n @labelname
ブ ラ ン チ と 反映のレ ポー ト
以下の表に、 ブ ラ ンチお よ び反映操作に関す る レ ポー ト に一般的に使用 さ れ る コ マ ン ド を示 し
ます。
一覧表示 さ せたい内容
使用する コ マ ン ド
すべてのブ ラ ンチ仕様
p4 branches
特定のブ ラ ンチ内のフ ァ イ ル
p4 files filespec
特定フ ァ イ ルの リ ビ ジ ョ ン
p4 filelog filespec
特定フ ァ イ ルの リ ビ ジ ョ ン。 反映元 と な っ た フ ァ
イ ルの リ ビ ジ ョ ン を再帰的に含む。
p4 filelog -i filespec
衝突解決の結果のプ レ ビ ュ ー表示
p4 resolve [args] -n [filespec]
解決 さ れたが ま だサブ ミ ッ ト さ れていない フ ァ イ
ル
p4 resolved [filespec]
反映お よ びサ ブ ミ ッ ト さ れ て い る フ ァ イ ルの う
ち、 filespec 引数に適合す る フ ァ イ ル
p4 integrated filespec
反映操作の結果のプ レ ビ ュ ー表示
p4 integrate [args] -n [filespec]
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
105
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
ジ ョ ブのレポー ト
ジ ョ ブ を一覧表示する
ジ ョ ブ を一覧表示す る には、 p4 jobs コ マ ン ド を発行 し ます。 以下の表に、 ジ ョ ブの レ ポー
ト に一般的に使用 さ れ る コ マ ン ド を示 し ます。
一覧表示 さ せたい内容
使用する コ マ ン ド
すべてのジ ョ ブ
p4 jobs
すべてのジ ョ ブに、 ジ ョ ブの完全な説明を含む
p4 jobs -l
検索基準に合致す る ジ ョ ブ (詳 し く は 94 ページの 「ジ ョ ブの検 p4 jobs -e jobview
索」 を参照)
p4 jobs filespec
特定のフ ァ イ ルを含むチ ェ ン ジ リ ス ト で修正 さ れたジ ョ ブ
特定の フ ァ イ ルを含むチ ェ ン ジ リ ス ト で修正 さ れた ジ ョ ブ。 その特 p4 jobs -i filespec
定の フ ァ イ ルの反映元 と な っ た フ ァ イ ルに関連す る チ ェ ン ジ リ ス ト
を含め る
チ ェ ン ジ リ ス ト によ り 解決 し たジ ョ ブ を一覧表示する
p4 change、 p4 submit、 お よ び p4 fix でチ ェ ン ジ リ ス ト に リ ン ク さ れたジ ョ ブは、 「修
正 さ れたジ ョ ブ」 ( それ ら の状態が closed であ る か ど う かにかかわ ら ず ) と 呼ばれ ます。チ ェ
ン ジ リ ス ト に よ り 修正 さ れたジ ョ ブ を一覧表示す る には、 p4 fixes コ マ ン ド を発行 し ます。
以下の表に、 修正の レ ポー ト に使われ る 有用な コ マ ン ド を示 し ます。
一覧表示 さ せたい内容
使用する コ マ ン ド
ジ ョ ブに リ ン ク さ れてい る すべてのチ ェ ン ジ リ ス ト
p4 fixes
特定のジ ョ ブに リ ン ク さ れてい る すべてのチ ェ ン ジ リ ス ト
p4 fixes -j jobname
特定のチ ェ ン ジ リ ス ト に リ ン ク さ れてい る すべてのジ ョ ブ
p4 fixes -c changenum
特定のフ ァ イ ルに関連す る すべての修正
p4 fixes filespec
特定の フ ァ イ ルに関連す る すべての修正。 その特定の フ ァ イ ルの p4 fixes -i filespec
反映元 と な っ た フ ァ イ ルに関連す る チ ェ ン ジ リ ス ト を含め る 。
シ ス テム構成のレポー ト
こ のセ ク シ ョ ン で説明す る コ マ ン ド では、 PERFORCE ユーザ、 ク ラ イ ア ン ト ・ ワ ー ク スペース、
お よ びデ ィ ポが表示 さ れ ます。
ユーザの表示
p4 users コ マ ン ド はユーザ名、 電子 メ ール ・ ア ド レ ス、 ユーザの 「本」 名、 お よ びユーザが
最後に PERFORCE にア ク セ ス し た日付を、 以下の形式で表示 し ます。
bruno <bruno@bruno_ws> (bruno) accessed 2011/03/07
dai <dai@dai_ws> (Dai Sato) accessed 2011/03/04
earl <earl@earl_ws> (Earl Ashby) accessed 2011/03/07
gale <gale@gale_ws> (Gale Beal) accessed 2011/06/03
hera <hera@hera_ws> (Hera Otis) accessed 2011/10/03
ines <ines@ines_ws> (Ines Rios) accessed 2011/02/02
jack <jack@submariner> (jack) accessed 2011/03/02
mei <mei@mei_ws> (Mei Chang) accessed 2011/11/14
ona <ona@ona_ws> (Ona Birch) accessed 2011/10/23
quinn <quinn@quinn_ws> (Quinn Cass) accessed 2011/01/27
raj <raj@ran_ws> (Raj Bai) accessed 2011/07/28
vera <vera@vera_ws> (Vera Cullen) accessed 2011/01/15
106
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
ワー ク スペースの表示
ク ラ イ ア ン ト ・ ワー ク スペース の情報を表示す る には、 p4 clients コ マ ン ド を発行 し ます。
こ の コ マ ン ド は、 ク ラ イ ア ン ト ・ ワー ク スペース名、 ワー ク スペース の最終更新日付、 ワー ク
スペース ・ ルー ト 、 お よ び ワ ー ク スペース の説明を以下の形式で表示 し ます。
Client
Client
Client
Client
Client
Client
Client
Client
Client
Client
bruno_ws 2011/03/07 root c:\bruno_ws ''
dai-beos-locust 2011/10/03 root /boot/home/src ''
earl-beos-aspen 2011/04/15 root /boot/src ''
earl-dev-beech 2011/10/26 root /home/earl ''
earl-dev-guava 2011/09/08 root /usr/earl/development ''
earl-dev-yew 2011/11/19 root /tmp ''
earl-mac-alder 2011/03/19 root Macintosh HD:earl ''
earl-os2-buckeye 2011/03/21 root c:\src ''
earl-qnx-elm 2011/01/17 root /src ''
earl-tupelo 2011/01/05 root /usr/earl ''
デ ィ ポを一覧表示する
デ ィ ポ を一覧表示す る には、 p4 depots コ マ ン ド を発行 し ます。 こ の コ マ ン ド に よ る 表示項
目は、 デ ィ ポ名、 デ ィ ポの作成日、 デ ィ ポの タ イ プ (local、 remote、 archive、 spec ま
たは stream)、 デ ィ ポのホ ス ト 名ま たは IP ア ド レ ス (remote の場合)、 ロ ーカル ・ デ ィ ポへ
のマ ッ ピ ン グ、 お よ びデ ィ ポに関す る シ ス テ ム管理者の コ メ ン ト です。
単一の PERFORCE イ ン ス ト ールで複数のデ ィ ポ を定義す る 方法について詳 し く は、 『PERFORCE
シ ス テ ム管理者ガ イ ド 』 を ご覧 く だ さ い。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
107
第 9 章 : ス ク リ プ ト と レ ポー ト に使用す る コ マ ン ド
サン プル ・ ス ク リ プ ト
以下のサン プル ・ ス ク リ プ ト では、 p4 fstat コ マ ン ド の出力を解析 し 、 最新 リ ビ ジ ョ ンが ク
ラ イ ア ン ト ・ ワー ク スペース にない と き に作業状態に さ れてい る フ ァ イ ル (問題発生の可能性
あ り ) を レ ポー ト し ます。
例 : p4 fstat コ マ ン ド の出力の解析結果を示すサンプル ・ シ ェ ル ・ ス ク リ プ ト
#!/bin/sh
# Usage: opened-not-head.sh files
# Displays files that are open when the head revision is not 
# on the client workspace
echo=echo
exit=exit
p4=p4
sed=sed
if [ $# -ne 1 ]
then
$echo "Usage: $0 files"
$exit 1
fi
$p4 fstat -Ro $1 | while read line
do
name=`$echo $line | $sed 's/^[\. ]\+\([^ ]\+\) .*$/\1/'`
value=`$echo $line | $sed 's/^[\. ]\+[^ ]\+ \(.*\)$/\1/'`
if [ "$name" = "depotFile" ]
then
depotFile=$value
elif [ "$name" = "headRev" ]
then
headRev=$value
elif [ "$name" = "haveRev" ]
then
haveRev=$value
done
108
fi
if [ $headRev != $haveRev ]
then
$echo $depotFile
fi
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
用語集
付録 A
用語
定義
2 ウ ェ イ ・ マージ
2 つの フ ァ イ ル ・ リ ビ ジ ョ ン を組み合わせる プ ロ セ ス。 2 ウ ェ イ ・ マー
ジでは、 フ ァ イ ル間の差異は表示で き ますが、 衝突は表示で き ません。
3 ウ ェ イ ・ マージ
3 つの フ ァ イ ル ・ リ ビ ジ ョ ン を組み合わせる プ ロ セ ス。 3 ウ ェ イ ・ マー
ジに よ っ て、 ど こ で衝突の原因 と な る 変更がな さ れたか を知 る こ と が
で き 、 衝突の解決方法を指定で き ます。
base
衝突す る 2 つの新 し い フ ァ イ ル ・ リ ビ ジ ョ ンの元 と な っ た フ ァ イ ル ・
リ ビ ジ ョ ン。
binary フ ァ イ ル タ イ プ
非テ キ ス ト ・ フ ァ イ ルに割 り 当て ら れた PERFORCE フ ァ イ ル タ イ プ。デ
フ ォ ル ト では、 各 リ ビ ジ ョ ンの内容は完全な形で保存 さ れ、 フ ァ イ ル
その も のは圧縮フ ォーマ ッ ト で保存 さ れます。
list ア ク セ ス権限
レ ポー ト ・ コ マ ン ド の実行を許可 し 、 フ ァ イ ル内容へのア ク セ ス を禁
止す る プ ロ テ ク シ ョ ン ・ レベル。
MD5 チ ェ ッ ク サム
アーカ イ ブ さ れた フ ァ イ ルの整合性を検証する ために PERFORCE が使
用す る 方法。
p4
PERFORCE の コ マ ン ド ラ イ ン ・ ク ラ イ ア ン ト ・ プ ロ グ ラ ムで、 OS の コ
マ ン ド ラ イ ンか ら PERFORCE コ マ ン ド を実行す る ために実行す る コ マ
ン ド。
p4d
PERFORCE サービ ス を実行す る プ ロ グ ラ ム。p4d はデ ィ ポの フ ァ イ ルお
よ び メ タ デー タ を管理 し ます。
P4Diff
2 つの フ ァ イ ル間の差異を表示する PERFORCE アプ リ ケーシ ョ ン。P4Diff
は、 フ ァ イ ル衝突解決プ ロ セ ス で フ ァ イ ルの比較に使用 さ れ る デフ ォ
ル ト のアプ リ ケーシ ョ ンです。
PERFORCE サービ ス
PERFORCE デ ィ ポ と メ タ デー タ 。デ ィ ポ と メ タ デー タ を管理す る プ ロ グ
ラ ムの こ と も 指 し ます。
RCS 形式
リ ビ ジ ョ ン管理シ ス テ ム形式。 テ キ ス ト ・ フ ァ イ ルの リ ビ ジ ョ ンの保
存に使用 さ れます。 RCS 形式は、 リ バースデル タ ・ エン コ ーデ ィ ン グ
を フ ァ イ ルの保存に使用 し ます。 PERFORCE は、 RCS 形式を テ キ ス ト ・
フ ァ イ ルの保存に使用 し ます。 リ バースデル タ 保存 も ご覧 く だ さ い。
read ア ク セ ス権限
PERFORCE が管理す る フ ァ イ ルの内容を読み取 る こ と を許可す る プ ロ
テ ク シ ョ ン ・ レベル。
review ア ク セ ス権限
読み取 り 権限 (read) と リ ス ト ・ ア ク セ ス 権限 (list) を含む特別
なプ ロ テ ク シ ョ ン ・ レベルで、 レ ビ ュ ー ・ コ マ ン ド (review) を実行
す る パー ミ ッ シ ョ ン を与え ます。
super ア ク セ ス権限
すべての PERFORCE コ マ ン ド を実行す る 権限を ユーザに与え る ア ク セ
ス ・ レベル。 対象 と な る コ マ ン ド には、 プ ロ テ ク シ ョ ンの設定、 ト リ
ガの イ ン ス ト ールお よ び保守のためのサービ ス停止を実行す る コ マ ン
ド が含まれます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
109
付録 A: 用語集
用語
定義
symlink フ ァ イ ル タ イ プ
UNIX のシ ン ボ リ ッ ク ・ リ ン ク に割 り 当て ら れた PERFORCE の フ ァ イ ル
タ イ プ。シ ン ボ リ ッ ク リ ン ク をサポー ト し ないプ ラ ッ ト フ ォームでは、
symlink タ イ プの フ ァ イ ルは小 さ いテ キ ス ト ・ フ ァ イ ル と 同様に示 さ れ
ます。
text フ ァ イ ル タ イ プ
ASCII テ キ ス ト のみを含むフ ァ イ ルに割 り 当て ら れた PERFORCE の フ ァ
イ ル タ イ プ。 binary フ ァ イ ル タ イ プ も ご覧 く だ さ い。
theirs
フ ァ イ ル衝突を解決す る 際、 ク ラ イ ア ン ト ・ フ ァ イ ル と マージ さ れ る
デ ィ ポ内の リ ビ ジ ョ ン。 ブ ラ ンチ作成 さ れた フ ァ イ ルで作業 し てい る
場合、 theirs は反映元フ ァ イ ルの こ と です。
yours
フ ァ イ ル衝突を解決す る と き 、 ク ラ イ ア ン ト ・ ワ ー ク スペース内の編
集済バージ ョ ンの フ ァ イ ル。 ブ ラ ンチ作成 さ れた フ ァ イ ルを反映 さ せ
る 際の反映先フ ァ イ ルの こ と も 指 し ます。
ア ク セ ス レベル
ユーザが実行で き る PERFORCE コ マ ン ド を制御す る ためにユーザに割
り 当て ら れ る 権限。 プ ロ テ ク シ ョ ン を ご覧 く だ さ い。
ア ッ プル ・ フ ァ イ ル タ イ
プ
AppleSingle フ ォ ー マ ッ ト で 保存 さ れ る フ ァ イ ル に 割 り 当 て ら れ た
PERFORCE フ ァ イ ル タ イ プ。 デー タ ・ フ ォー ク と リ ソ ース ・ フ ォー ク を
単一のフ ァ イ ル と し て保存で き ます。
ア ト ミ ッ ク ・ チ ェ ン ジ ・ 1 つの ト ラ ンザ ク シ ョ ンに多 く の フ ァ イ ルへの操作を グループ化す る
ト ラ ンザ ク シ ョ ン
こ と 。 ト ラ ンザ ク シ ョ ン ですべての フ ァ イ ル操作が正常に実行 さ れた
場合、 すべての フ ァ イ ルが更新 さ れ ます。 ト ラ ンザ ク シ ョ ン で フ ァ イ
ル操作が 1 つで も 失敗する と 、 ど のフ ァ イ ル も 更新 さ れません。
イ ン ター ・ フ ァ イル ・
ブ ラ ンチ機能
PERFORCE 専用のブ ラ ンチ ・ メ カ ニズ ム。
カウンタ
PERFORCE が使用す る 数値変数で、 レ ビ ュ ー機能でチ ェ ン ジ リ ス ト 番号
を追跡す る ために使用 さ れます。
書 き 込み権限
デ ィ ポ内の フ ァ イ ルの内容を変更す る コ マ ン ド の実行を許可す る プ ロ
テ ク シ ョ ン ・ レ ベル。 書 き 込み権限 (write) に は、 読み取 り 権限
(read) と リ ス ト ・ ア ク セ ス権限 (list) が含まれます。
管理者ア ク セ ス権限
メ タ デー タ を オーバ ラ イ ド す る PERFORCE コ マ ン ド を実行す る ため
に、 ユーザに割 り 当て ら れ る ア ク セ ス権限。 ただ し 、 サービ ス の状態
を変更す る こ と はで き ません。
ク ラ イ アン ト ・ サイ ド
ク ラ イ ア ン ト ・ ビ ュ ーにおけ る マ ッ ピ ン グ の右側。 対応す る デ ィ ポ ・
フ ァ イ ルが ク ラ イ ア ン ト ・ ワ ー ク スペース の ど こ にあ る か を指定 し ま
す。
ク ラ イ ア ン ト ・ フ ォーム
ク ラ イ ア ン ト ・ ワ ー ク スペース の定義に使用 さ れ る PERFORCE フ ォー
ム。
ク ラ イ アン ト 名
現在の ク ラ イ ア ン ト ・ ワ ー ク スペース を一意に示す名前。
ク ラ イ ア ン ト ・ ルー ト
ク ラ イ ア ン ト ・ ワ ー ク スペース のルー ト ・ デ ィ レ ク ト リ 。 1 つのマシ
ンに 2 つ以上の ク ラ イ ア ン ト ・ ワー ク スペース があ る 場合、 それ ら は
同 じ ルー ト ・ デ ィ レ ク ト リ を共有で き ません。
ク ラ イ アン ト ・
ワ ー ク スペース
ワ ー ク ス テーシ ョ ンにおいて PERFORCE が管理す る フ ァ イ ル・ リ ビ ジ ョ
ンの作業を行 う デ ィ レ ク ト リ 。 こ の ク ラ イ ア ン ト ・ ワ ー ク スペース の
名前は、 デフ ォ ル ト で、 ク ラ イ ア ン ト ・ ワ ー ク スペース があ る マシ ン
の名前に設定 さ れてい ます。 デフ ォ ル ト の名前を変更す る には、 環境
変数 P4CLIENT を設定 し ます。 ク ラ イ ア ン ト ・ ワ ー ク スペース、 ラ ベ
ル、 お よ びブ ラ ンチ仕様に同 じ 名前を付け る こ と はで き ません。
ク ラ イ アン ト ・
デ ィ ポ内の フ ァ イ ルの場所 と ク ラ イ ア ン ト ・ ワ ー ク スペース の対応を
ワ ー ク スペース ・ ビ ュ ー 規定す る マ ッ ピ ン グのセ ッ ト 。
グループ
110
PERFORCE ユーザの リ ス ト 。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
付録 A: 用語集
用語
定義
コー ド ラ イ ン
ま と めて進化す る フ ァ イ ル ・ セ ッ ト 。 コ ー ド ラ イ ンは他の コ ー ド ラ イ
ン か ら ブ ラ ンチ作成す る こ と がで き 、 こ れに よ り 各フ ァ イ ル ・ セ ッ ト
を個別に進化 さ せる こ と がで き ます。
更新時刻
フ ァ イ ルが最後に変更 さ れた時刻。
サーバ ・ ルー ト
p4d が自己の メ タ デー タ と すべての共有フ ァ イ ルを保存す る デ ィ レ ク
ト リ 。サーバ・ルー ト を指定す る には、環境変数 P4ROOT を設定 し ます。
サービ ス
PERFORCE において、 PERFORCE アプ リ ケーシ ョ ンか ら の リ ク エ ス ト に
応答す る 共有バージ ョ ン 化サー ビ ス PERFORCE サー ビ ス (P4D) は、
デ ィ ポ ・ フ ァ イ ルやフ ァ イ ルについての記述を含む メ タ デー タ を保持
し 、 ク ラ イ ア ン ト ・ ワ ー ク スペース の状態を追跡 し ます。
最新 リ ビ ジ ョ ン
デ ィ ポ内の フ ァ イ ルの最 も 新 し い リ ビ ジ ョ ン。 フ ァ イ ル ・ リ ビ ジ ョ ン
は順番に番号付け さ れ る ので、 こ の リ ビ ジ ョ ンはその フ ァ イ ルで一番
大 き な番号の付いた リ ビ ジ ョ ン と な り ます。
作業状態のフ ァ イ ル
ク ラ イ ア ン ト ・ ワ ー ク スペース で変更中の フ ァ イ ル。
作業中チ ェ ン ジ リ ス ト
ま だサブ ミ ッ ト さ れていないチ ェ ン ジ リ ス ト 。
削除フ ァ イ ル
PERFORCE において、 最新 リ ビ ジ ョ ンに削除マー ク が付いた フ ァ イ ル。
そのフ ァ イ ルの以前の リ ビ ジ ョ ンは、 依然 と し て利用で き ます。
サブ ス ク ラ イ ブ
特定の フ ァ イ ルに作用す る チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れた と き に
電子 メ ールを受け取る よ う 登録する こ と 。
サブ ミ ッ ト
作業中チ ェ ン ジ リ ス ト と 変更済フ ァ イ ルを PERFORCE サービ ス に送 る
こ と。
差分
(名詞) 2 つの フ ァ イ ルを比較 し た と き に一致 し ない行セ ッ ト 。 フ ァ イ
ル衝突は 2 つの フ ァ イ ルそれぞれ と 、 共通の第 3 の フ ァ イ ル と の差分
が異な っ てい る こ と です。
(動詞) フ ァ イ ルの内容ま たはフ ァ イ ル ・ リ ビ ジ ョ ン を比較する こ と 。
ジ ャ ーナル
最後のチ ェ ッ ク ポ イ ン ト 以降に PERFORCE サービ ス の メ タ デー タ に対
し て加え ら れたすべての変更の記録を含むフ ァ イ ル。
ジ ャ ーナル作成
PERFORCE サービ ス の メ タ デー タ に対 し て加え ら れた変更を記録す る
プ ロ セ ス。
状態
チ ェ ン ジ リ ス ト については、 チ ェ ン ジ リ ス ト が新規なのか作業中なの
かサブ ミ ッ ト さ れたのか を示す値。 ジ ョ ブについては、 ジ ョ ブが作業
中なのか終了 し たのか保留中なのか を示す値。 ジ ョ ブの状態はカ ス タ
マ イ ズで き ます。
衝突
衝突には 2 つの タ イ プがあ り 、 第 1 の タ イ プの衝突は、 2 人のユーザ
が1つの フ ァ イ ルを編集目的で作業状態に し た と き に起 こ り ます。ユー
ザ A が フ ァ イ ルをサブ ミ ッ ト し た後は、 衝突が起 こ る ので、 ユーザ B
はサブ ミ ッ ト で き ません。 こ の タ イ プの衝突は、 2 人のユーザが同 じ
フ ァ イ ルを作業状態に し た こ と が原因 と な り ます。
第 2 の タ イ プの衝突は、 ユーザがあ る 1 つの フ ァ イ ルを別の フ ァ イ ル
にマージ し よ う と す る と き に起 こ り ます。 こ の タ イ プの衝突は、 2 つ
の フ ァ イ ル と 共通のベース と の比較結果が異な る と き 、 つま り 、 2 つ
の フ ァ イ ルの変更内容が異な る と き に生 じ ます。 こ の場合、 マージは
自動では行われず、 手動で行 う 必要があ り ます。 こ の タ イ プの衝突は、
差分が一致 し ない こ と が原因 と な り ます。
フ ァ イ ル衝突 を ご覧 く だ さ い。
衝突解決
フ ァ イ ルの 2 つの リ ビ ジ ョ ン間の差異を調整す る のに使用す る プ ロ セ
ス。
衝突再解決
フ ァ イ ルの衝突を解決 し た後、 サブ ミ ッ ト す る 前に、 その フ ァ イ ルの
衝突を再び解決する プ ロ セ ス。
除外ア ク セ ス権限
指定 し た フ ァ イ ルへのア ク セ ス を拒否する 権限。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
111
付録 A: 用語集
112
用語
定義
除外マ ッ ピ ン グ
特定フ ァ イ ルを除外する ビ ュ ー ・ マ ッ ピ ン グ。
ジョブ
PERFORCE が追跡す る ユーザ定義の作業ユ ニ ッ ト 。 追跡す る 情報は、
ジ ョ ブ ・ テ ンプ レー ト で決定 し ます。 テ ンプ レー ト は PERFORCE のシ
ス テ ム管理者が変更で き ます。
ジ ョ ブ仕様
PERFORCE ジ ョ ブ と し て保存 さ れた フ ィ ール ド と 有効値を含む仕様。
ジ ョ ブの修正
チ ェ ン ジ リ ス ト に リ ン ク さ れたジ ョ ブ。
ジ ョ ブ ・ ビ ュー
PERFORCE ジ ョ ブの検索に使用 さ れ る シ ン タ ッ ク ス。
所有者
特定の ク ラ イ ア ン ト 、 ブ ラ ンチ、 あ る いは ラ ベルを作成 し た PERFORCE
ユーザ。
所有 リ ス ト
現在 ク ラ イ ア ン ト ・ ワ ー ク スペース にあ る フ ァ イ ル ・ リ ビ ジ ョ ンの一
覧。
怠惰な コ ピー
デ ィ ポ内の フ ァ イ ル内容を複製せずに、 フ ァ イ ルの内部 コ ピーを作成
す る のに PERFORCE が使用す る 方法。 怠惰な コ ピーは、 フ ァ イ ルの コ
ピーの代わ り にオ リ ジナル ・ フ ァ イ ルへの リ フ ァ レ ン ス を保存す る こ
と に よ り 、 使用する デ ィ ス ク 容量を最小化 し ます。
タ イ プマ ッ プ
フ ァ イ ルに PERFORCE フ ァ イ ル タ イ プ を割 り 当て る PERFORCE テーブル。
チェ ッ ク ポイ ン ト
あ る 特定の瞬間におけ る 基礎的な メ タ デー タ の コ ピー。 メ タ デー タ
を ご覧 く だ さ い。
チェ ンジ リ ス ト
PERFORCE におけ る ア ト ミ ッ ク ・ チ ェ ン ジ ・ ト ラ ンザ ク シ ョ ン。 チ ェ ン
ジ リ ス ト で指定 さ れた変更は、 チ ェ ン ジ リ ス ト がデ ィ ポにサブ ミ ッ ト
さ れ る ま でデ ィ ポには保存 さ れません。
チ ェ ン ジ リ ス ト 番号
数値で表 さ れ る チ ェ ン ジ リ ス ト の一意の識別子。
チェ ンジ リ ス ト ・
フ ォーム
チ ェ ン ジ リ ス ト の修正に使用 さ れ る PERFORCE フ ォーム。
チェ ンジ ・ レ ビ ュー
デ ィ ポ内の指定フ ァ イ ルに加え ら れ る 変更を登録ユーザに電子 メ ール
で送信す る プ ロ セ ス。
チップ ・ リ ビジ ョ ン
PERFORCE では最新 リ ビ ジ ョ ン の こ と 。 チ ッ プ ・ リ ビ ジ ョ ン は、 他
のバージ ョ ン管理シ ス テ ムで使用 さ れ る 用語です。
ディポ
PERFORCE サー ビ ス に ホ ス ト さ れた フ ァ イ ル ・ リ ポ ジ ト リ 。 こ こ には
デ ィ ポにサブ ミ ッ ト さ れた全フ ァ イ ルの全バージ ョ ンが含まれます。1
つの イ ン ス ト ールに複数のデ ィ ポ を置 く こ と がで き ます。
ディ ポ ・ サイ ド
ク ラ イ ア ン ト ・ ビ ュ ーにおけ る マ ッ ピ ン グの左側。 デ ィ ポ内におけ る
フ ァ イ ルの場所を指定 し ます。
デ ィ ポ ・ シン タ ッ ク ス
デ ィ ポ内におけ る フ ァ イ ルの場所を指定す る PERFORCE シ ン タ ッ ク ス。
デ ィ ポ ・ ルー ト
デ ィ ポのルー ト ・ デ ィ レ ク ト リ 。
デフ ォ ル ト ・ チ ェ ン ジ リ
スト
番号付チ ェ ン ジ リ ス ト が指定 さ れない限 り 、PERFORCE コ マ ン ド が使用
す る チ ェ ン ジ リ ス ト 。フ ァ イ ルが編集目的で作業状態にな る と 、デフ ォ
ル ト の作業中チ ェ ン ジ リ ス ト が自動的に作成 さ れます。
デフ ォ ル ト ・ デ ィ ポ
名前が指定 さ れていないデ ィ ポに与え ら れ る 名前。 デフ ォ ル ト ・ デ ィ
ポ名は、 depot です。
デル タ
2 つの フ ァ イ ル間の差異。
同期
デ ィ ポか ら ク ラ イ ア ン ト ・ ワ ー ク スペースへ、 フ ァ イ ル ・ リ ビ ジ ョ ン
(あ る いはフ ァ イ ル ・ リ ビ ジ ョ ン ・ セ ッ ト ) を コ ピーす る こ と 。
ト リガ
チ ェ ン ジ リ ス ト がサブ ミ ッ ト さ れた と き PERFORCE サービ ス が自動的
に起動す る ス ク リ プ ト 。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
付録 A: 用語集
用語
定義
反映
2 つの フ ァ イ ル ・ セ ッ ト (例えば、 2 つの コ ー ド ラ イ ン ・ ブ ラ ンチ) を
比較す る こ と 。 お よ び
・ 一方のフ ァ イ ル ・ セ ッ ト の ど の変更を他方のセ ッ ト に適用すべき か
を判断する
・ それ ら の変更がすでに伝達 さ れてい る か ど う か判断す る
・ 未処理の変更を伝達する
こ と。
反映先フ ァ イ ル
ブ ラ ンチ作成 さ れた コ ー ド ラ イ ン と オ リ ジナルの コ ー ド ラ イ ン間の変
更を反映 さ せる 際、 反映元フ ァ イ ルか ら 変更を受け取る フ ァ イ ル。
反映元フ ァ イ ル
1 つの フ ァ イ ルか ら 別の フ ァ イ ルへ変更を伝え る と き の、 変更の取 り
込み元フ ァ イ ル。
番号付チ ェ ン ジ リ ス ト
PERFORCE が番号を割 り 当てた作業中チ ェ ン ジ リ ス ト 。
非接続
PERFORCE サービ ス に接続で き ない ワー ク ス テーシ ョ ン。
非存在 リ ビ ジ ョ ン
フ ァ イ ルが完全に空の リ ビ ジ ョ ン。 フ ァ イ ルの非存在 リ ビ ジ ョ ンに同
期す る と 、 ワ ー ク スペース か ら フ ァ イ ルが削除 さ れ ます。 フ ァ イ ルの
削除や リ ビ ジ ョ ン指定子 #none に よ っ て作成 さ れた空の フ ァ イ ル・ リ
ビ ジ ョ ンは、 非存在フ ァ イ ル ・ リ ビ ジ ョ ンの例です。
ビ ュー
2 つの フ ァ イ ル ・ セ ッ ト 間の関係 を説明す る も の。 ク ラ イ ア ン ト ・
ワー ク スペース ・ ビ ュ ー、 ラ ベル ・ ビ ュ ー、 ブ ラ ンチ ・ ビ ュ ー
も ご覧 く だ さ い。
フ ァ イ ル衝突
3 ウ ェ イ ・ マージにおいて、 あ る フ ァ イ ルの 2 つの リ ビ ジ ョ ンが互い
に異な り 、 ベース フ ァ イ ル と も 異な っ てい る 状況。
ま た、 デ ィ ポ内の フ ァ イ ルの最新でない リ ビ ジ ョ ン を編集 し た フ ァ イ
ルを サブ ミ ッ ト し よ う と 試み る こ と 。 多 く の場合、 誰かが フ ァ イ ルを
編集目的で作業状態に し た後、 別のユーザがその フ ァ イ ルを編集目的
で作業状態に し た と き に起 こ り ます。
フ ァ イルタ イプ
フ ァ イ ルの属性。 PERFORCE では、 フ ァ イ ルを保存 し 差分表示す る 方法
はフ ァ イ ル タ イ プで決ま り ます。 フ ァ イ ル タ イ プの例は、 text (テ キ
ス ト ) お よ び binary (バ イ ナ リ ) です。
フ ァ イル ・ ツ リ ー
ルー ト ・ デ ィ レ ク ト リ 配下のすべてのサブデ ィ レ ク ト リ と フ ァ イ ル。
フ ァ イ ル ・ パ タ ーン
PERFORCE の コ マ ン ド ラ イ ン ・ シ ン タ ッ ク ス で、 ワ イ ル ド カー ド を使用
し て フ ァ イ ルを指定で き ます。
フ ァ イル ・ リ ビジ ョ ン
デ ィ ポ内の フ ァ イ ルの特定バージ ョ ン。 各 リ ビ ジ ョ ンには、 順番に番
号が割 り 当て ら れてい ます。 デ ィ ポ内にあ る ど の リ ビ ジ ョ ンに も 、 リ
ビ ジ ョ ン番号 (例えば、 testfile#3) でア ク セ ス で き ます。
フ ァ イ ル ・ リ ポジ ト リ
全ユーザが共有す る 、すべての フ ァ イ ルのマ ス タ ー・ コ ピー。PERFORCE
では、 デ ィ ポ と 呼ばれます。
フ ォーム
一部の PERFORCE コ マ ン ド が表示す る 画面。 例えば、 PERFORCE チ ェ ン
ジ ・ フ ォーム を使用 し て、 特定のチ ェ ン ジ リ ス ト に関す る コ メ ン ト を
入力 し 、 そのチ ェ ン ジ リ ス ト に関連す る フ ァ イ ルを検証す る こ と がで
き ます。
ブ ラ ンチ
(名詞 : ブ ラ ンチ) オ リ ジナルの フ ァ イ ルを追加す る こ と で作成 さ れ る
コ ー ド ラ イ ンに対 し て、 あ る コ ー ド ラ イ ン を コ ピーす る こ と で作成 さ
れ る コ ー ド ラ イ ン。 ブ ラ ンチ は ブ ラ ンチ ・ ビ ュ ー の同義語 と し て も
使用 さ れます。
(動詞 : ブ ラ ンチ作成) p4 integrate で コ ー ド ラ イ ン ・ ブ ラ ンチを
作成 す る こ と 。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
113
付録 A: 用語集
用語
定義
ブ ラ ンチ ・ ビ ュ ー
デ ィ ポ内の 2 つの コ ー ド ラ イ ン間のブ ラ ンチ関係を示す仕様。 各ブ ラ
ンチ ・ ビ ュ ーは一意の名前を持ち、 反映元の コ ー ド ラ イ ンか ら 反映先
の コ ー ド ラ イ ン に ど の よ う に フ ァ イ ルを マ ッ ピ ン グす る か を定義 し ま
す。 ブ ラ ンチ を ご覧 く だ さ い。
ブ ラ ンチ ・ フ ォーム
ブ ラ ンチ仕様の修正に使用する PERFORCE フ ォーム。
ブ ラ ンチ ・ マ ッ ピ ン グ
オ リ ジナルの コ ー ド ラ イ ン と ブ ラ ン チの場所を定義す る こ と に よ り 、
ブ ラ ンチの作成方法を規定 し ます。 ブ ラ ンチ仕様は、 ブ ラ ンチの作成
と 更新のために反映プ ロ セ ス で使用 さ れ ます。 ク ラ イ ア ン ト ・ ワ ー ク
スペース、 ラ ベル、 お よ びブ ラ ンチ仕様に同 じ 名前を付け る こ と はで
き ません。
フル ・ フ ァ イ ル保存
PERFORCE がデ ィ ポ内にバ イ ナ リ ・ フ ァ イ ルの リ ビ ジ ョ ン を保存する 方
法。 すべての フ ァ イ ル ・ リ ビ ジ ョ ンは完全な形で保存 さ れます。 こ れ
に対 し て リ バースデル タ 保存は、PERFORCE がテ キ ス ト タ イ プの フ ァ
イ ルに対 し て使用する 方法です。
プロテ クシ ョ ン
PERFORCE サービ ス のプ ロ テ ク シ ョ ン ・ テーブルに格納 さ れてい る パー
ミ ッ シ ョ ン。
保留
チ ェ ン ジ リ ス ト をチ ェ ッ ク イ ンせずに、 フ ァ イ ルを PERFORCE サービ
ス に一時的に格納する 処理の こ と 。
マージ
2 つの衝突 し てい る フ ァ イ ル ・ リ ビ ジ ョ ンの内容を 1 つの フ ァ イ ルに
結合す る プ ロ セ ス。
マージ ・ フ ァ イ ル
2 つの衝突 し てい る フ ァ イ ル ・ リ ビ ジ ョ ンか ら PERFORCE が生成 し た
フ ァ イ ル。
マ ッ ピング
ビ ュ ー内の 1 行で、 デ ィ ポ内の フ ァ イ ル と ク ラ イ ア ン ト 、 ラ ベル、 ま
たはブ ラ ンチ内の フ ァ イ ル と の対応を指定す る 左側 と 右側 と で構成 さ
れてい ます。 左側はデ ィ ポ ・ フ ァ イ ルを指定 し 、 右側が ク ラ イ ア ン ト ・
フ ァ イ ルを指定 し ます。
( ク ラ イ ア ン ト ・ ワー ク スペース ・ ビ ュ ー、 ラ ベル ・ ビ ュ ー、 ブ
ラ ンチ ・ ビ ュ ー も ご覧 く だ さ い。)
メ タ デー タ
114
PERFORCE サービ ス が保存す る デー タ で、 デ ィ ポ内の フ ァ イ ル、 ク ラ イ
ア ン ト ・ ワ ー ク スペース の現在の状態、 プ ロ テ ク シ ョ ン、 ユーザ、 ラ
ベル、お よ びブ ラ ンチに関す る 記述があ り ます。 メ タ デー タ には、 フ ァ
イ ルの実際の内容を除いて、 サービ ス に保存 さ れてい る すべてのデー
タ が含まれてい ます。
元に戻す
ク ラ イ ア ン ト ・ ワー ク スペース内の フ ァ イ ルへの変更を廃棄す る こ と 。
ユーザ
誰が操作 し てい る か を判断する ため PERFORCE が使用す る 識別子。
ラ イ セン ス ・ フ ァ イル
サ イ ト の PERFORCE ユーザの数が、 購入 し た数を超え ない よ う に し ま
す。
ラ ベル
ユーザ指定のフ ァ イ ル ・ リ ビ ジ ョ ンの リ ス ト に名前を付けた も の。
ラ ベル ・ ビ ュ ー
デ ィ ポ内の ど の フ ァ イ ル名が特定 ラ ベル内に保存可能か を 規定す る
ビ ュ ー。
リ ソ ース ・ フ ォー ク
Mac フ ァ イ ルのフ ォー ク の 1 つ。 (Macintosh フ ァ イ ルは、 リ ソ ース ・
フ ォー ク と デー タ ・ フ ォー ク で構成 さ れてい ます。) PERFORCE のア ッ
プル ・ フ ァ イ ル タ イ プ を使用す る こ と に よ り 、 リ ソ ース ・ フ ォー ク を
PERFORCE デ ィ ポ内に AppleSingle フ ァ イ ルの一部 と し て保存で き ま
す。
リ バースデル タ 保存
テ キ ス ト ・ フ ァ イ ルの リ ビ ジ ョ ン を保存する ために PERFORCE が使用
す る 方法。 PERFORCE は、 最新 リ ビ ジ ョ ンの全テ キ ス ト を保存 し 、 さ ら
に、各 リ ビ ジ ョ ン と その直前の リ ビ ジ ョ ン と の間の変更を保存 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
付録 A: 用語集
用語
定義
リ ビ ジ ョ ン指定
フ ァ イ ル名に付 く 拡張子で、 その フ ァ イ ルの特定の リ ビ ジ ョ ン を指定
し ま す。 リ ビ ジ ョ ン指定子 と し て使用で き る のは、 リ ビ ジ ョ ン番号、
チ ェ ン ジ番号、 ラ ベル名、 日付 / 時刻の指定、 あ る いは ク ラ イ ア ン ト
名です。
リ ビ ジ ョ ン範囲
指定 し た フ ァ イ ルの リ ビ ジ ョ ン番号の範囲。 範囲の最小 と 最大 と で指
定 し ます。 例えば、 myfile#5,7 はフ ァ イ ル myfile の リ ビ ジ ョ ン 5
か ら 7 を指定 し ます。
リ ビ ジ ョ ン番号
フ ァ イ ルのど の リ ビ ジ ョ ン を参照 し てい る か を示す番号。
リ モー ト ・ デ ィ ポ
現在指定 さ れてい る PERFORCE サービ ス を ホ ス テ ィ ン グ し てい る ホ ス
ト と は異な る ホ ス ト に存在する デ ィ ポ
レ ビ ュ ー ・ デーモン
p4 review コ マ ン ド を使用す る デーモン ・ プ ロ セ ス。 チ ェ ン ジ ・ レ
ビ ュー も ご覧 く だ さ い。
ロ ーカル ・ シ ン タ ッ ク ス
フ ァ イ ル名を指定する OS 固有のシ ン タ ッ ク ス。
ロ ーカル ・ デ ィ ポ
現在指定 さ れてい る PERFORCE サービ ス にあ る すべてのデ ィ ポ。
ログ
PERFORCE サービ ス か ら のエ ラ ー出力。 デフ ォ ル ト では、 エ ラ ー出力は
標準エ ラ ーに記述 さ れ ます。 ロ グ ・ フ ァ イ ルを指定す る には、 P4LOG
環境変数を設定する か、 サービ ス起動時に p4d -L オプシ ョ ン を使用
し ます。
ロック
PERFORCE の フ ァ イ ル ・ ロ ッ ク は、 ロ ッ ク さ れた フ ァ イ ルを他の ク ラ イ
ア ン ト がサブ ミ ッ ト す る のを防ぎ ます。 Unlock コ マ ン ド を実行す る
か、 ロ ッ ク さ れた フ ァ イ ルを含むチ ェ ン ジ リ ス ト をサブ ミ ッ ト す る こ
と に よ り 、 フ ァ イ ルの ロ ッ ク が解除 さ れます。
ワ ー ク スペース
ク ラ イ ア ン ト ・ ワー ク スペース の項を ご覧 く だ さ い。
ワ イ ル ド カー ド
文字列中の文字に適合 さ せる ために使用 さ れ る 特殊文字。PERFORCE の
ワ イ ル ド カー ド は次の と お り です。
・ * は ス ラ ッ シ ュ 以外のすべての文字 と 適合す る
・ ... は ス ラ ッ シ ュ を含むすべての文字 と 適合す る
・ %%0 か ら %%9 はビ ュ ー内のパ ラ メ ー タ の置換に使用 さ れ る
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
115
付録 A: 用語集
116
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
PERFORCE のフ ァ イル タ イ プ
付録 B
PERFORCE で は 一 連 の フ ァ イ ル タ イ プ が サ ポ ー ト さ れ て お り 、 フ ァ イ ル タ イ プ に 従 っ て
PERFORCE サービ ス に よ る フ ァ イ ルの保存方法やフ ァ イ ル比較の可否が決定 さ れ ます。 フ ァ イ
ル を 追加す る と き 、 PERFORCE は自動的 に フ ァ イ ル タ イ プ を 識別 し よ う と し ま す。 最初 に
PERFORCE は、 フ ァ イ ルが通常の フ ァ イ ルかシ ン ボ リ ッ ク ・ リ ン ク か を識別 し 、 次に フ ァ イ ル
の最初の部分を調べてそれがテ キ ス ト かバ イ ナ リ か を判断 し ます。 非テ キ ス ト ・ キ ャ ラ ク タ が
見つかれば、 その フ ァ イ ルはバ イ ナ リ と みな さ れ、 見つか ら ない場合はテ キ ス ト と みな さ れま
す。 (Unicode 環境ではフ ァ イ ルの検出方式が異な り ます。 121 ページの 「Perforce の フ ァ イ ル
タ イ プ検出 と Unicode」 を参照 し て く だ さ い。)
PERFORCE が制御 し てい る フ ァ イ ルの タ イ プ を識別す る には、 p4 opened コ マ ン ド ま たは p4
files コ マ ン ド を発行 し ます。 PERFORCE フ ァ イ ル タ イ プ を変更す る には、 -t filetype オ
プ シ ョ ン を 指定 し ま す。 フ ァ イ ル タ イ プの変更につい て詳 し く は、 『PERFORCE コ マ ン ド ・ リ
フ ァ レ ン ス』 の p4 add、 p4 edit、 お よ び p4 reopen の各項の説明を参照 し て く だ さ い。
PERFORCE のフ ァ イル タ イ プ
PERFORCE は以下の フ ァ イ ル タ イ プ をサポー ト し ます。
キーワー ド
記述
コメント
記憶 タ イ プ
apple
Mac
フ ァ イル
Mac デー タ フ ォー ク 、 リ ソ ース ・ フ ォー ク 、 フ ァ イ フル・ フ ァ イ ル、
ル タ イ プお よ びフ ァ イ ル ・ ク リ エー タ の AppleSingle 圧縮、
記憶。
AppleSingle
詳細については、 Mac ク ラ イ ア ン ト ・ リ リ ース ノ ー フ ォーマ ッ ト
binary
非 テ キ ス ト ・ ワ ー ク スペー ス にバ イ ナ リ ・ フ ァ イ ル と し て同期 さ フル・ フ ァ イ ル、
フ ァ イル
れます。デ ィ ポ内に圧縮 さ れた状態で記憶 さ れます。 圧縮
resource
Mac リ ソ ース ・
フ ォー ク
(旧式) こ の タ イ プは後方互換性を保つためにサポー フル・ フ ァ イ ル、
ト さ れてい ますが、 apple フ ァ イ ル タ イ プを使用す 圧縮
る こ と を推奨 し ます。
symlink
シンボ リ ッ ク ・
リ ンク
UNIX、 OS X ま たは最近のバージ ョ ンの Windows 環 デル タ
境にあ る PERFORCE アプ リ ケーシ ョ ンでは、こ れ ら の
フ ァ イ ルはシ ン ボ リ ッ ク リ ン ク と し て扱われ ま す。
その他のプ ラ ッ ト フ ォ ーム では、 こ れ ら の フ ァ イ ル
は(小 さ い) テ キ ス ト ・ フ ァ イ ル と 同様に示 さ れます。
text
テキ ス ト ・ フ ァ
イル
ワ ー ク スペース にテ キ ス ト と し て同期 さ れ ます。 行 デル タ
末変換が自動的に実行 さ れます。
ト を参照。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
117
付録 B: PERFORCE の フ ァ イ ル タ イ プ
キーワー ド
記述
コメント
unicode
unicode フ ァ イ
ル
Unicode モー ド の PERFORCE サービ ス は unicode フ ァ デル タ 、 UTF-8
イ ル タ イ プ を サポー ト し ます。 こ の タ イ プの フ ァ イ
ルは P4CHARSET に よ り 指定 さ れた ロ ーカルの文字
セ ッ ト に変換 さ れます。
記憶 タ イ プ
Unicode モー ド で稼動 し ていない PERFORCE サービ ス
では、Unicode フ ァ イ ル タ イ プはサポー ト さ れてい ま
せん。
詳細は、 『PERFORCE 国際語モー ド に関す る注意事項』
を ご参照 く だ さ い。
utf16
unicode フ ァ イ
ル
サービ ス が Unicode モー ド で動作 し てい る か否かに デル タ 、 UTF-8
かかわ ら ず、 フ ァ イ ルは UTF-8 で転送 さ れ、 UTF16 (BOM 付 き 、 ユーザのマシ ンに適切なバ イ ト 順)
に コ ー ド 変換 さ れます。
詳細については、 「PERFORCE 国際語モー ド に関す る
注意事項 (i18nnotes.txt)」 を ご覧 く だ さ い。
フ ァ イル タ イ プ修飾子
特定の フ ァ イ ルのベース ・ タ イ プに フ ァ イ ル タ イ プ修飾子を適用す る こ と に よ り 、 タ イ ム ス タ
ン プの保存、 RCS キー ワ ー ド 拡張、 サービ ス 上での フ ァ イ ルの保存方法の指定な ど がで き ま
す。 修飾子の フ ァ イ ル タ イ プへの適用に関 し て詳 し く は、 119 ページの 「Perforce での フ ァ イ
ルの保存形式を指定す る 」 を ご覧 く だ さ い。
以下の表に、 フ ァ イ ル タ イ プ修飾子を示 し ます。
修飾子
記述
コメント
+C
PERFORCE が各フ ァ イ ル ・ リ ビ ジ ョ binary フ ァ イ ルお よ び10MB を超え る 新規追加のtext 、
ン の フル圧縮バージ ョ ン を記憶す unicode、ま たは utf16 フ ァ イ ルでのデフ ォ ル ト のサー
る
バ記憶 メ カ ニズ ム
+D
PERFORCE がデル タ を RCS フ ォー text フ ァ イ ルでのデフ ォ ル ト の記憶 メ カ ニズ ム
マ ッ ト で記憶す る
+F
PERFORCE が リ ビ ジ ョ ン ご と に フ デル タ の記憶が無意味ま たは非効率的であ る よ う な、
ル ・ フ ァ イ ルを記憶す る
テ キ ス ト と し て 処理 さ れ な い長い ASCII フ ァ イ ル
(PostScript フ ァ イ ルな ど) に使用 し ます。
+k
RCS ( リ ビ ジ ョ ン 制御 シ ス テ ム) サポー ト し てい る キーワ ー ド は次の と お り です。
キーワ ー ド 拡張
• $Author$
• $Change$
• $Date$
• $DateTime$
• $File$
• $Header$
• $Id$
• $Revision$
RCS キーワー ド は大文字/小文字を区別 し ます。
キーワ ー ド の後の コ ロ ン(例えば$Id:$)は任意です。
+ko
118
制限付 き のキーワ ー ド 拡張
キーワ ー ド $Id$ お よ び $Header$ だけ を拡張 し ま
す。こ の修飾子の対は、主に 2000.1 よ り 前の PERFORCE
に さ か上っ て互換で き る よ う にする 目的で存在 し 、旧
バージ ョ ンの PERFORCE におけ る 修飾子 +k (ktext)
に対応 し ます。
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
付録 B: PERFORCE の フ ァ イ ル タ イ プ
修飾子
記述
+l
排他的に フ ァ イ ルを作業状態にす 設定する と 一度に 1 人のユーザ し か、編集目的で作業
る (ロ ッ クする)
状態にする こ と がで き ません。
コメント
複数の作業者に よ る 変更のマージが不可能で あ る バ
イ ナ リ ・ フ ァ イ ル タ イ プ (グ ラ フ ィ ッ ク 等) に有用で
す。
+m
オ リ ジナルの更新日時を保存する
+S
最新 リ ビ ジ ョ ン だけがサーバで記 旧 リ ビ ジ ョ ン は、 新 し い リ ビ ジ ョ ン のサブ ミ ッ ト に
憶される
よ っ てデ ィ ポか ら 削除 さ れ ま す。 実行 フ ァ イ ル ま た
は .obj フ ァ イ ルに有用です。
+Sn
最新の n 個の リ ビ ジ ョ ンだけが格
納 さ れます。 n は 1 か ら 10 ま で、
ま たは 16、 32、 64、 128、 256、 512
のいずれかの数値です。
+w
フ ァ イ ルは常に ク ラ イ ア ン ト 側で PERFORCE に よ り フ ァ イ ルの読み取 り /書 き 込みの設
書 き 込み可能
定が管理 さ れ る ため、 こ の設定は推奨 さ れません。
+x
ク ラ イ ア ン ト 側 で 実行 ビ ッ ト を 実行フ ァ イ ルに使用 し ます。
セッ ト
+X
アーカ イ ブ ・ ト リ ガが必要
ロ ーカル・フ ァ イ ルシ ス テ ム上の フ ァ イ ルの タ イ ム ス
タ ンプがサブ ミ ッ ト 時に保存 さ れ、同期時に復元 さ れ
ます。 Windows OS はフ ァ イ ルの タ イ ム ス タ ンプに依
存する ため、Windows 環境下におけ る サー ド パーテ ィ
の dll に と っ て有用です。 デフ ォ ル ト では、 更新日時
はフ ァ イ ルを同期 さ せた日時に設定 さ れます。
新 し い リ ビ ジ ョ ン を n 個を超え てサブ ミ ッ ト する か、
既存の +Sn フ ァ イ ルの n を現在の リ ビ ジ ョ ン数 よ り
少ない値に変更する と 、古い リ ビ ジ ョ ンはデ ィ ポか ら
消去 さ れます。 詳 し く は、 『 コ マン ド ・ リ フ ァ レ ン ス 』
を参照 し て く だ さ い。
PERFORCE サービ ス はフ ァ イ ルへのア ク セ ス のために
archive ト リ ガ を実行 し ます。 詳 し く は、 『シ ス テ ム
管理者ガ イ ド 』 を参照 し て く だ さ い。
PERFORCE での フ ァ イルの保存形式を指定する
通常、 バ イ ナ リ ・ フ ァ イ ルの フ ァ イ ル ・ リ ビ ジ ョ ンはすべてデ ィ ポ内に保存 さ れますが、 テ キ
ス ト ・ フ ァ イ ルでは前の リ ビ ジ ョ ン が保存 さ れた後に加え ら れた変更だけが保存 さ れ ます。 こ
れはデル タ 記憶 と 呼ばれ、 PERFORCE では RCS フ ォーマ ッ ト を使用 し てそのデル タ を記憶 し ま
す。 フ ァ イ ル タ イ プに よ り 、 フ ァ イ ル全体を記憶す る か デル タ 記憶 を使用す る かが決定 さ れま
す。
フ ァ イ ル タ イ プのい く つかは、 デ ィ ポに記憶 さ れ る 際、 gzip フ ォ ーマ ッ ト に圧縮 さ れ ます。 圧
縮はフ ァ イ ルを サブ ミ ッ ト す る と き に行われ、 解凍はフ ァ イ ルを同期 (フ ァ イ ルをデ ィ ポか ら
ワ ー ク ス ペース に コ ピー) さ せ る と き に行われ ま す。 ク ラ イ ア ン ト ・ ワ ー ク ス ペー ス は常に、
サブ ミ ッ ト さ れた時点の フ ァ イ ルを保持 し ます。
警告 不用意に フ ァ イ ルが切 り 捨て ら れない よ う にす る ため、 バ イ ナ リ ・ フ ァ イ ルを
テ キ ス ト と し て保存 し ないで く だ さ い。 Windows ク ラ イ ア ン ト ・ マシ ンのバ イ
ナ リ ・ フ ァ イ ルを テ キ ス ト と し て保存す る と 、 その フ ァ イ ルに Windows の フ ァ
イ ル終了キ ャ ラ ク タ ^Z が含ま れてい る 場合、 ^Z ま での部分のみがデ ィ ポに保
存 さ れ ます。
Unicode のフ ァ イルに フ ァ イル タ イ プ を割 り 当て る
PERFORCE サービ ス は、 Unicode モー ド で起動 し て Unicode 文字を含むフ ァ イ ル名や PERFORCE
メ タ デー タ に対す る サポー ト を有効にす る か、 あ る いは非 Unicode モー ド で起動す る こ と がで
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
119
付録 B: PERFORCE の フ ァ イ ル タ イ プ
き ます。非 Unicode モー ド ではフ ァ イ ル名お よ び メ タ デー タ は ASCII でな く てはな り ませんが、
Unicode 文字を含むテ キ ス ト 形式フ ァ イ ル も サポー ト さ れ ます。
Unicode 文字を含むテ キ ス ト 形式フ ァ イ ルを管理す る 必要があ る も のの、PERFORCE メ タ デー タ
内に Unicode 文字が必要でない場合は、PERFORCE を Unicode モー ド で起動す る 必要はあ り ませ
ん。 Unicode 文字を含むテ キ ス ト 形式フ ァ イ ルには、 utf16 と い う フ ァ イ ル タ イ プ を割 り 当て
て く だ さ い。
サービ ス が ど ち ら のモー ド を使用 し てい る かは、 シ ス テ ム管理者にお尋ね く だ さ い
ど ち ら のモー ド で も 、PERFORCE では一連の フ ァ イ ル タ イ プがサポー ト さ れてお り 、それに よ っ
て PERFORCE サーバへの フ ァ イ ルの格納方法お よ びフ ァ イ ルの比較の可否が決定 さ れ ます。 以
降のセ ク シ ョ ン では、 Unicode 環境において テ キ ス ト 形式フ ァ イ ルを管理す る 際の考慮事項に
ついて説明 し ます。
デ ィ ポに フ ァ イ ルを追加す る と き に フ ァ イ ル タ イ プ を割 り 当て る には、 -t オプシ ョ ン を指定
し ます。 例 :
p4 add -t utf16 newfile.txt
デ ィ ポ内の フ ァ イ ルの フ ァ イ ル タ イ プ を変更す る には、 -t オプシ ョ ン を指定 し て フ ァ イ ルを
編集目的で作業状態に し ます。 例 :
p4 edit -t utf16 myfile.txt
フ ァ イル タ イ プ を選択する
Unicode を含むテ キ ス ト 形式フ ァ イ ルに フ ァ イ ル タ イ プ を割 り 当て る 際には、 以下の こ と を考
慮 し ます。
• フ ァ イ ルの編集お よ び比較が必要ですか ?
多 く の IDE では、 ユーザが手動で編集や比較を実行で き ない構成フ ァ イ ルが作成 さ れます。
それ ら の フ ァ イ ルが変換 さ れない よ う に、当該フ ァ イ ルには binary フ ァ イ ル タ イ プ を割 り
当て ます。
• サ イ ト では異な る 文字セ ッ ト を使用す る フ ァ イ ルを管理 し てい ますか ?
こ れに当ては ま る 場合は、 当該フ ァ イ ルを utf16 フ ァ イ ル タ イ プ を使用 し て格納す る こ と
に よ り 、 変換は不可であ る が比較が可能であ る よ う に し て く だ さ い。
Unicode モー ド のサービ ス では、Unicode フ ァ イ ルの内容を P4CHARSET で指定 さ れた文字セ ッ
ト に変換 し ます。 以下の表に、 Unicode モー ド のサービ ス が様々な種類のテ キ ス ト フ ァ イ ルを
ど の よ う に管理す る かについて、 さ ら に詳 し く 示 し ます。
テキス ト のフ ァ
イル タ イ プ
PERFORCE での格納形式 検証を行 う か
(Unicode モー ド )
P4CHARSET に
基づ く 変換
ク ラ イアン ト ・
プ ラ ッ ト フ ォー
ムに基づ く 変換
text
拡張 ASCII
検証 し ない
実行 さ れない
実行 さ れない
unicode
UTF-8
検証す る (UTF-16
お よ び P4CHARSET
と して )
実行 さ れ る
実行 さ れない
utf16
UTF-8
検証す る (UTF-16
と して )
実行 さ れ る
実行 さ れない
非 Unicode モー ド のサービ ス では、 unicode フ ァ イ ルの内容について変換 も 検証 も 行い ませ
ん。 UTF-8 のデー タ は、 ク ラ イ ア ン ト ・ プ ラ ッ ト フ ォーム に適切なバ イ ト 順を使用 し て UTF-
120
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
付録 B: PERFORCE の フ ァ イ ル タ イ プ
16 に変換 さ れ ます。編集の際にその よ う な フ ァ イ ルが破壊 さ れない よ う にす る ため、編集用 ソ
フ ト ウ ェ アで フ ァ イ ルを UTF-8 ま たは UTF-16 と し て保存 し ます。
テキス ト のフ ァ
イル タ イ プ
PERFORCE での格納形式
(Unicode モー ド )
検証を行 う か
P4CHARSET に
基づ く 変換
ク ラ イアン ト ・
プラ ッ ト フ ォー
ムに基づ く 変換
text
拡張 ASCII
検証 し ない
実行 さ れない
実行 さ れない
unicode
UTF-8
検証す る (UTF-16
お よ び P4CHARSET
と して )
実行 さ れない
実行 さ れない
utf16
UTF-8
検証す る (UTF-16
と して )
実行 さ れない
実行 さ れ る
PERFORCE のフ ァ イル タ イ プ検出 と Unicode
Unicode モー ド お よ び非 Unicode モー ド の両方において、デ ィ ポに フ ァ イ ルを追加す る 際に フ ァ
イ ル タ イ プ を割 り 当て ていない場合、PERFORCE ( デフ ォ ル ト ) はフ ァ イ ルの最初の 65536 文字
(バ イ ト ) を調べ る こ と に よ り フ ァ イ ル タ イ プの検出を試み ます。 印刷不能文字が検出 さ れ る
と 、 フ ァ イ ルには binary の フ ァ イ ル タ イ プが割 り 当て ら れます。 (Unicode モー ド では も う 1
つの検証が実行 さ れ ます。 印刷不能文字がな く 、 P4CHARSET に よ り 指定 さ れた文字セ ッ ト を
使用 し て変換可能な High ASCII 文字があ る 場合、 フ ァ イ ルには unicode フ ァ イ ル タ イ プが割
り 当て ら れ ます。 )
最後に (Unicode モー ド ま たは非 Unicode モー ド で稼動 し てい る サービ ス に対 し て )、 UTF-16
BOM が存在す る 場合、 フ ァ イ ルには utf16 フ ァ イ ル タ イ プが割 り 当て ら れます。 それ以外の
場合には、 フ ァ イ ルには text フ ァ イ ル タ イ プが割 り 当て ら れます。 (Unicode モー ド では も う
1 つの検証が実行 さ れ ます。 P4CHARSET に よ っ て指定 さ れた文字セ ッ ト に定義 さ れていない
High ASCII 文字を含むフ ァ イ ルには binary フ ァ イ ル タ イ プが割 り 当て ら れ ます。 )
ほ と ん ど の場合、 PERFORCE に よ り 検出 さ れたデフ ォ ル ト の フ ァ イ ル タ イ プ を オーバー ラ イ ド
す る 必要はあ り ません。 PERFORCE 検出のデフ ォ ル ト ・ フ ァ イ ル タ イ プ を オーバー ラ イ ド し な
ければな ら ない場合は、 p4 typemap コ マ ン ド を実行す る こ と に よ り 、 フ ァ イ ルの拡張子に
従っ て PERFORCE フ ァ イ ル タ イ プ を割 り 当て る こ と がで き ます。 typemap 機能の使用に関 し て
詳 し く は、 『PERFORCE シ ス テ ム管理者ガ イ ド 』 お よ び 『PERFORCE コ マ ン ド ・ リ フ ァ レ ン ス』 を
参照 し て く だ さ い。
フ ァ イル タ イ プのオーバー ラ イ ド
一部の フ ァ イ ル ・ フ ォ ーマ ッ ト (Adobe PDF、 リ ッ チ ・ テ キ ス ト ・ フ ォーマ ッ ト な ど) は、 実
際にはバ イ ナ リ で あ る のに、 PERFORCE に よ り 誤っ て テ キ ス ト と し て検出 さ れ る こ と があ り ま
す。こ の問題を防止す る ため、シ ス テ ム管理者は p4 typemap コ マ ン ド を使用 し て特定の フ ァ
イ ル タ イ プの保存方法を指定す る こ と がで き ます。 タ イ プマ ッ プ ・ テーブルに指定 さ れた フ ァ
イ ル タ イ プは、 -t filetype オプシ ョ ン を付けて指定 し 直 し 、 オーバー ラ イ ド す る こ と がで
き ます。
タ イムス タ ン プの保存
通常、 PERFORCE はフ ァ イ ルを同期 さ せ る と き に タ イ ム ス タ ンプ を更新 し ます。 更新日時 (+m)
修飾子は、 フ ァ イ ルの元の タ イ ム ス タ ン プ を保存 し てお く 必要があ る 開発者のために用意 さ れ
てい ます。 こ の修飾子に よ り 、 自分の ク ラ イ ア ン ト ・ ワ ー ク スペース に同期 さ せた フ ァ イ ルの
タ イ ム ス タ ン プ を、 フ ァ イ ルがサブ ミ ッ ト さ れた時点のマシ ンの時刻 と す る こ と がで き ます。
Windows では、 (開発環境下で も OS に よ っ て も ) バージ ョ ン情報取得のためにサー ド パーテ ィ
の dll の タ イ ム ス タ ン プが使用 さ れます。 +m 修飾子を使用す る と オ リ ジナルの タ イ ム ス タ ン
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
121
付録 B: PERFORCE の フ ァ イ ル タ イ プ
プ を保存で き る ため、 誤っ てバージ ョ ン が不一致 と な る こ と を防 ぐ こ と がで き ます。 +m 修飾
子は、 (それが適用 さ れ る フ ァ イ ルに対す る ) ク ラ イ ア ン ト ・ ワー ク スペース の [no]modtime
の設定を オーバー ラ イ ド し ます。 こ の設定について詳 し く は、 118 ページの 「フ ァ イ ル タ イ プ
修飾子」 を参照 し て く だ さ い。
RCS キーワー ド 拡張
RCS ( リ ビ ジ ョ ン管理シ ス テ ム) は初期のバージ ョ ン管理シ ス テ ム であ り 、 ソ ース ・ フ ァ イ ル
に組み込み可能な キー ワー ド が定義 さ れてい ます。RCS キー ワ ー ド はフ ァ イ ルが格納場所に書
き 込まれ る たびに更新 さ れ ます。 PERFORCE ではい く つかの RCS キー ワ ー ド がサポー ト さ れて
い ます。 1 つの フ ァ イ ルについて RCS キー ワー ド 拡張を有効にす る には、 +k 修飾子を使用 し
ます。 RCS キー ワー ド は次の よ う に拡張 さ れます。
キーワー ド
拡張対象
例
$Author$
フ ァ イ ルをサブ ミ ッ ト する
PERFORCE ユーザ
$Author: bruno $
$Change$
サブ ミ ッ ト さ れ る フ ァ イ ルに
付け る PRFORCE チ ェ ン ジ リ
ス ト 番号
$Change: 439 $
$Date$
フ ォーマ ッ ト YYYY/MM/DD
に よ る 、 最終サブ ミ ッ ト の日
付
$Date: 2011/08/18 $
$DateTime$
フ ォーマ ッ ト
YYYY/MM/DDhh:mm:ss に よ
る 、 最終サブ ミ ッ ト の日付 と
時刻。
$DateTime: 2011/08/18 23:17:02 $
日付 と 時刻は、 サブ ミ ッ ト 時
点の PERFORCE サービ ス上の
現地時間に準ず る 。
$File$
デ ィ ポ ・ シン タ ッ ク スによ る
フ ァ イ ル名のみ ( リ ビ ジ ョ ン
番号な し )
$File: //depot/path/file.txt $
$Header$
$Id$ と 同義
$Header: //depot/path/file.txt#3 $
$Id$
デ ィ ポ ・ シン タ ッ ク スによ る
フ ァ イ ル名お よ び リ ビ ジ ョ ン
番号
$Id: //depot/path/file.txt#3 $
$Revision$
PERFORCE リ ビ ジ ョ ン番号
$Revision: #3 $
キー ワー ド 拡張を行わずに フ ァ イ ルを表示す る には、 p4 print -k filename を使用 し ま
す。
122
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
索引
記号
M
#none リ ビ ジ ョ ン指定子 42
* ワ イ ル ド カー ド 23, 39
+ (プ ラ ス記号)
オーバーレ イ ・ マ ッ ピ ン グ と プ ラ ス記号 25
除外マ ッ ピ ン グ 24
... ワ イ ル ド カー ド 23, 39, 49, 58
ク ラ イ ア ン ト ・ ビ ュ ー と 23
@
タ グ付け さ れた フ ァ イ ルを一覧表示す る 105
チ ェ ン ジ リ ス ト を一覧表示す る 104
フ ァ イ ル名の予約文字 40
フ ァ イ ル ・ リ ビ ジ ョ ン に タ グ付けす る 87
フ ァ イ ル ・ リ ビ ジ ョ ン を指定す る 41, 58, 88
フ ァ イ ル ・ リ ビ ジ ョ ン を同期 さ せ る 90
フ ァ イ ル ・ リ ビ ジ ョ ン を反映 さ せ る 42
ラ ベルの内容を同期 さ せ る 88
リ ビ ジ ョ ン範囲を指定す る 44
Mac
apple フ ァ イ ル タ イ プ 117
リ ソ ース ・ フ ォー ク 117
mac オプシ ョ ン 30
modtime 28
N
-n オプシ ョ ン 52, 78
noallwrite オプシ ョ ン 28
noclobber オプシ ョ ン 28
nocompress オプシ ョ ン 28
nomodtime オプシ ョ ン 28
normdir オプシ ョ ン 28
null ルー ト 26
null 26
O
-o オプシ ョ ン 99
A
AltRoots フ ィ ール ド 26
C
-c オプシ ョ ン 52, 54, 102
F
-f オプシ ョ ン 28, 78, 63
I
-i オプシ ョ ン 99
L
-l オプシ ョ ン 101
leaveunchanged+reopen オプシ ョ ン 29
leaveunchanged オプシ ョ ン 29
LineEnd フ ィ ール ド 30
LOCALE 環境変数 41
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
P
p4 コ マ ン ド
labelsync コ マ ン ド 89
label コ マ ン ド 89
sync コ マ ン ド 48
P4CHARSET 環境変数 18, 37
P4CLIENT 環境変数 15, 18, 19, 37
P4COMMANDCHARSET 環境変数 18, 38
P4DIFF 環境変数 18, 66, 69
P4EDITOR 環境変数 18, 44
P4HOST 環境変数 18, 37
P4IGNORE 50
P4LANGUAGE 環境変数 18, 38
P4MERGE 環境変数 18, 65, 66
P4PASSWD 環境変数 18, 38
P4PORT 環境変数 18, 19, 21, 38
P4USER 環境変数 18, 38
PERFORCE
接続 38
日付 と 時刻 43
PERFORCE シ ン タ ッ ク ス 39
123
: 索引
あ
PWD 環境変数 37
Python ス ク リ プ ト 37
暗号化 31
Q
お
-q オプシ ョ ン 102
オーバーレ イ ・ マ ッ ピ ン グ 25
オプシ ョ ン
参照 コ マ ン ド ラ イ ン ・ オプシ ョ ン
R
revertunchanged+reopen オプシ ョ ン 29
revertunchanged オプシ ョ ン 29
RFC3484 22
-r オプシ ョ ン 77
S
-s オプシ ョ ン 57, 105
SSL 31
SubmitOptions
29
submitunchanged+reopen オプシ ョ ン 29
submitunchanged オプシ ョ ン 29
T
-t オプシ ョ ン 117
か
書 き 込み許可 16
環境変数
LOCALE 41
P4CHARSET 18, 37
P4CLIENT 15, 18, 19, 37
P4COMMANDCHARSET 18, 38
P4DIFF 18, 66, 69
P4EDITOR 18, 44
P4HOST 18, 37
P4LANGUAGE 18, 38
P4MERGE 18, 65, 66
P4PASSWD 18, 38
P4PORT 18, 19, 21, 38
P4USER 18, 38
PWD 37
U
UNIX
LOCALE 環境変数 41
コ メ ン ト の区切 り 文字 (#) 40
代替 ク ラ イ ア ン ト ・ ルー ト 26
パ ス ・ コ ン ポーネ ン ト の区切 り 文字 (/) 40
マ ウ ン ト さ れた ド ラ イ ブの行末文字 30
ロ ッ ク さ れた フ ァ イ ルを見つけ る 70
ワ イ ル ド カー ド (*) 40
unix オプシ ョ ン 30
unlocked オプシ ョ ン 28
UTF-16 18, 38
UTF-32 38
V
-v オプシ ョ ン 64
View フ ィ ール ド 27
W
win オプシ ョ ン 30
Windows
DLL の タ イ ム ス タ ン プ 119
イ ン ス ト ール 13
行末文字 30
地域設定 41
バ イ ナ リ ・ フ ァ イ ルの保存 119
複数 ド ラ イ ブ 26
124
き
共有オプシ ョ ン 30
く
ク ラ イ ア ン ト ・ ルー ト
定義 15
ヌ ル 26
ク ラ イ ア ン ト ・ ワー ク スペース
コ マ ン ド ラ イ ン で指定す る 37
代替ルー ト 26
定義 15
複数の ド ラ イ ブにわた る ク ラ イ ア ン ト ・ ワ ー
ク スペース 26
ク ラ イ ア ン ト ・ ワ ー ク スペース か ら フ ァ イ ルを削
除す る 43
け
警告
セ キ ュ リ テ ィ 32
権限
管理用 コ マ ン ド と 権限 37
ク ラ イ ア ン ト ・ ワー ク スペース内の フ ァ イ ル
と 権限 16, 51, 54
反映 と 権限 76
非接続で作業す る 59
フ ァ イ ルの リ ネーム 55
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
: 索引
こ
し
更新時刻 121
コ ー ド ラ イ ンの管理 74
コ ー ド ・ レ ビ ュ ー 55
コマン ド
除外マ ッ ピ ン グ 24
ジョブ
検索 94
シン タ ッ ク ス
コ マ ン ド ラ イ ン 37
ビ ュ ー 44
フ ァ イ ル ・ リ ビ ジ ョ ン 42
ブ ラ ンチ ・ マ ッ ピ ン グ 75
ブ ラ ンチ ・ マ ッ ピ ン グ を使用 し た反映 77
ラ ベル ・ ビ ュ ー 89
ロ ーカル 39
p4 コ マ ン ド 参照
コ マ ン ド ラ イ ン ・ オプシ ョ ン
-c オプシ ョ ン 54, 102
p4 changes コ マ ン ド 104
p4 help usage コ マ ン ド 44
p4 resolve コ マ ン ド 68
-f オプシ ョ ン 28, 63, 78
-i オプシ ョ ン 99
-l オプシ ョ ン 101
-n オプシ ョ ン 52, 78
-o オプシ ョ ン 99
-q オプシ ョ ン 102
-r オプシ ョ ン 77
-s オプシ ョ ン 57, 105
-t オプシ ョ ン 117
-v オプシ ョ ン 64
さ
サーバ
接続を確認す る 14
設定 17, 19
デフ ォ ル ト 17
ワ ー ク スペース内の フ ァ イ ル と サーバ 16
再解決 63
最新 リ ビ ジ ョ ン 42
タ グ付け 87
フ ァ イ ルの衝突を解決す る 68
削除済みフ ァ イ ル 52
定義 111
内容表示 102
比較 58
削除
空のデ ィ レ ク ト リ 28
ク ラ イ ア ン ト ・ ワー ク スペース 30
ジ ョ ブ 94
チ ェ ン ジ リ ス ト 54
デ ィ ポか ら の フ ァ イ ルの削除 47
ブ ラ ンチ ・ マ ッ ピ ン グ 74
ラ ベル 89
作成
ク ラ イ ア ン ト ・ ワー ク スペース 20
ク ラ イ ア ン ト ・ ワー ク スペース内のデ ィ レ ク
ト リ 48
修正 96
ジ ョ ブ 93
チ ェ ン ジ リ ス ト 52, 53
パ ス ワー ド 32
ブ ラ ンチ 71, 73, 74
ラ ベル 89
す
ス ク リ プ ト 作成 37, 99
ス ト リ ーム 78 ‐ 86
概要 78
コ ピー 84
ス ト リ ーム ・ デ ィ ポ 81
タ イ プ 79
パ ス の タ イ プ 80
フ ァ イ ルを取 り 込む 82
マージ 84
ワー ク スペース の管理 85
ス ラ ッ シ ュ (/)
ス ラ ッ シ ュ を使用 し て フ ァ イ ル ・ パ ス を指定
す る 39
せ
制限
除外マ ッ ピ ン グでの空白 24
ジ ョ ブの検索 94
相対パ ス ・ コ ン ポーネ ン ト 39
テ キ ス ト と し て格納 さ れ る バ イ ナ リ 119
名前の長 さ 40
フ ァ イ ルのア ク セ ス権の変更 16
フ ァ イ ル名 40
フ ァ イ ル名 と オ ブ ジ ェ ク ト 名 で の非 ASCII
キ ャ ラ ク タ 41
フ ォ ーム での入力 44
制約
ラ ベル名 89
そ
操作の衝突解決 67
た
対チ ェ ン ジ リ ス ト
対チ ェ ン ジ リ ス ト 対チ ェ ン ジ リ ス ト 87
タ イ ム ス タ ン プ 121
ち
チーム での開発 47
チェ ンジ リ ス ト
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
125
: 索引
-c オプシ ョ ン 52, 54, 102
RCS キー ワー ド 122
管理 47 ‐ 57
削除 54
作成 53
サブ ミ ッ ト 54
ジ ョ ブの修正 96, 97
デフ ォ ル ト ・ チ ェ ン ジ リ ス ト 52
番号を付け る 52
フ ァ イ ルの移動 53
保留 55
ラ ベル対チ ェ ン ジ リ ス ト 87
レ ポー ト と ス ク リ プ ト 101, 102
チ ェ ン ジ リ ス ト の番号を付け直す 54
つ
追加時
無視す る フ ァ イ ル 50
て
ディポ
構成 72
フ ァ イ ルの場所を表示す る 102
複数デ ィ ポのマ ッ ピ ン グ 21
ワ ー ク スペースへのマ ッ ピ ン グ 20
一覧表示 107
デ ィ ポの一部を マ ッ ピ ン グす る 23
デフ ォ ル ト
p4 annotate コ マ ン ド 102
p4 changes コ マ ン ド 104
行末の設定 30
ク ラ イ ア ン ト ・ ビ ュ ー 20
サーバ上の フ ァ イ ル格納場所 109
サーバでの フ ァ イ ルの保存 118
サブ ミ ッ ト ・ オプシ ョ ン の設定 29
時刻 43
ジ ョ ブ仕様 93
ジ ョ ブの命名 93
テ キ ス ト ・ エデ ィ タ 64
反映 リ ビ ジ ョ ン範囲 77
ホ ス ト お よ びポー ト 17
ワ ー ク スペース名 15
デフ ォ ル ト ・ チ ェ ン ジ リ ス ト 49, 52, 54
ひ
日付 と 時間の指定 43
否定演算子 ( ^ ) 95
ビ ュー
衝突す る マ ッ ピ ン グ 25
ラ ベル 89
ふ
フ ァ イル
チ ェ ン ジ リ ス ト 間での移動 53
ラ ベルか ら 削除す る 89
フ ァ イ ルお よ びパ ス名におけ る 空白 40
フ ァ イ ル名
空白を含む , ビ ュ ー内で 75
フ ァ イ ルの設定 17
フ ァ イ ル名の制約 40
予約文字 40
フ ァ イ ル名 と パ ス名の中の空白 25
フ ァ イ ル名におけ る 非 ASCII 文 41
フ ァ イ ル名の中の空白
引用符で囲む , ビ ュ ー内で 75
フ ァ イ ル ・ リ ビ ジ ョ ン 41
フ ォ ーム 44
プレ ビ ュー
-n オプシ ョ ン 78
結果の削除 44
結果を解決 52
タ グ付けの結果 88
同期の結果 44, 100, 102
反映結果 105
ラ ベルに同期 さ せ る 105
ほ
ポー ト
設定 13, 17
デフ ォ ル ト 17
不正な場合のエ ラ ー 21
ホス ト
コ マ ン ド ラ イ ン で指定す る 37
保留 55
ま
長 さ の制限 40
マ ッ ピング
オーバーレ イ 25
衝突す る 25
定義 22
は
む
反映
結果を プ レ ビ ュ ーす る 78
再解決す る 78
ブ ラ ンチ ・ マ ッ ピ ン グの使用 77
レ ポー ト 78
番号付チ ェ ン ジ リ ス ト 53
無視す る フ ァ イ ル 50
な
126
よ
予約文字 40
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
: 索引
ら
ラ ベル
削除 89
名前の制約 89
フ ァ イ ルか ら 削除す る 89
ラ ベル ・ ビ ュ ー 89
り
リ ビ ジ ョ ン範囲 43, 77, 115
る
ルー ト
異な る プ ラ ッ ト フ ォ ーム用の代替 26
サーバ 111
定義 20, 110
デ ィ ポ 112
表示 107
変更 27
ろ
ロ ーカル ・ オプシ ョ ン 30
ロ ーカル ・ シ ン タ ッ ク ス 39
わ
ワ ー ク スペース
複数の ド ラ イ ブにわた る 26
ワ イ ル ド カー ド
エ ス ケープ 54
概要 39
ク ラ イ ア ン ト ・ ビ ュ ー と ワ イ ル ド カー ド 23
ジ ョ ブの検索 94
定義 115
フ ァ イ ルの リ ネーム 55
予約文字 40
ワ イ ル ド カ ー ド を 使用 し て フ ァ イ ル を 同期
さ せ る 49
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド
127