129
PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド 2013 年 4 月

PERFORCE 2013.1 P4ユーザーズ・ガイド

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PERFORCE 2013.1 P4ユーザーズ・ガイド

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド

2013 年 4 月

Page 2: PERFORCE 2013.1 P4ユーザーズ・ガイド

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, end-

user 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 のソ フ ト ウ ェアには、 カ リ フ ォルニ

ア大学バーク レ イ校およびその協力者によ って開発された ソ フ ト ウ ェアが含まれています。

その他のブラ ン ド または製品名は、 それぞれ当該各社または団体の商標または登録商標です。

Page 3: PERFORCE 2013.1 P4ユーザーズ・ガイド

目   次

はじめに このマニュ アルについて ....................................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

Page 4: PERFORCE 2013.1 P4ユーザーズ・ガイド

目次

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 ユーザーズ ・ ガイ ド

Page 5: 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

Page 6: PERFORCE 2013.1 P4ユーザーズ・ガイド

目次

ラベルを削除する ........................................................................ 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 ユーザーズ ・ ガイ ド

Page 7: 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

Page 8: PERFORCE 2013.1 P4ユーザーズ・ガイド

目次

8 PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド

Page 9: 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

Page 10: PERFORCE 2013.1 P4ユーザーズ・ガイド

使用例一覧

チェ ンジ リ ス ト を保留する .............................................................. 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 ユーザーズ ・ ガ イ ド

Page 11: PERFORCE 2013.1 P4ユーザーズ・ガイド

使用例一覧

付録 A 用語集 .......................................................................................... 109

付録 B PERFORCE のフ ァ イルタ イプ ............................................ 117

索引 ............................................................................................... 123

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 11

Page 12: PERFORCE 2013.1 P4ユーザーズ・ガイド

使用例一覧

12 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 13: 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

Page 14: PERFORCE 2013.1 P4ユーザーズ・ガイド

はじめに : こ のマニュ アルについて

こ れ ら について基本的な技術があれば、 日常業務の多 く を こ なすこ と がで き ます。 その他の

コード ラ イ ンの保守 (ス ト リ ーム、 ブラ ンチ操作と ラベル付け) やワーク フ ロー (ジ ョ ブ) に

かかわる作業を実施する頻度はそれほど多 く あ り ません。 本書では p4 コマン ド を使用し た こ

れらの作業の実施方法について も説明し ています。

PERFORCE ド キュ メ ン ト

本書、 『PERFORCE コマン ド ・ リ フ ァ レ ン ス』、 および p4 help コマン ド が PERFORCE コマン ド

ラ イ ン ・ ク ラ イ アン ト に関する主要な ド キ ュ メ ン ト です。 本書では 新版の リ リ ースについて

説明し ています。以前の リ リ ースの ド キ ュ メ ン ト については PERFORCE 社の Web サイ ト を参照

し て く だ さい。

他の PERFORCE アプ リ ケーシ ョ ンに関する ド キ ュ メ ン ト は、 PERFORCE 社のウ ェブサイ ト

http://www.perforce.com の documentation のページから入手でき ます。

ご意見 ・ ご感想をお待ち し ています

当社では、 本書に関するユーザのみな さ んからのご意見をお待ち し ています。 と り わけ、 初め

て PERFORCE をお使いになったユーザのみな さ んのご意見は、 ぜひお聞かせ願いたい と思いま

す。 本書を読んで十分な情報は得られま し たか ?   ご感想をお聞かせ く だ さい。 ご意見 ・ ご感

想の宛先は下記の とお り です。

[email protected]

記述される詳細情報 記述ド キュ メ ン ト

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 をサポー ト し てお り ませんのでご注意 く

ださい。

12 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 15: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 1 章 P4 のイ ンス ト ール

こ の章では、 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

Page 16: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 1 章 : P4 のイ ン ス ト ール

イ ンス ト ールの確認

PERFORCE コマン ド ラ イ ン ・ ク ラ イ アン ト が正常にイ ン ス ト ールされたかど う か確認するには、

コマン ド ラ イ ンで p4 info と入力し て ENTER キーを押し ます。 PERFORCE サービ スが特定の

ホ ス ト およびポー ト で稼動し ていれば、 次のよ う な メ ッ セージが表示されます。

構成の設定が正し く ない場合、 次のよ う なエラー メ ッ セージが表示されます。

PERFORCE が SSL 接続を必要 とする よ う に管理者が設定し ている場合、 PERFORCE サービ スに

初に接続を試みた と きにサーバのフ ィ ンガープ リ ン ト を検証する必要があ り ます。31 ページの

「SSL 暗号化接続」 を参照し て く だ さい。

User name: onaClient name: ona-agaveClient host: agaveClient root: /home/ona/p4-onaCurrent directory: /home/ona/p4-onaClient address: 10.0.0.196Server address: perforce:1666Server root: /usr/depot/p4dServer date: 2012/03/28 12:11:47 -0700 PDTServer uptime: 752:41:33Server 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.2Case handling: sensitive

PERFORCE client error: Connect to server failed; check $P4PORT. TCP connect to <hostname> failed. <hostname>: host unknown.

14 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 17: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 P4 の構成

こ の章では、 接続の設定の構成方法について説明し ます。

構成の概要

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

Page 18: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

1 つのマシン上に複数のワーク スペース を構成する場合、 不用意にフ ァ イルが上書き される こ

と のない よ う 、 ワー ク スペースの場所を分離し て く だ さ い。 ク ラ イ アン ト ・ ルー ト が別々の

フ ォルダに配置される よ う にし、 ワーク スペース ・ ビ ューをデ ィ ポ ・ フ ァ イルにマ ッ ピングす

る と き、 ワーク ステーシ ョ ン上の位置が重な ら ないよ う にし て く だ さい。

ワーク スペース を構成し た ら、 フ ァ イルをデ ィ ポ と同期し て変更をサブ ミ ッ ト する こ と ができ

ます。 これらの操作について詳し く は、 第 4 章の 「フ ァ イル と チェ ンジ リ ス ト の管理」 を参照

し て く だ さい。

PERFORCE によるワークスペースの管理方法

PERFORCE はク ラ イ アン ト ・ ワーク スペース内のフ ァ イルを以下のよ う に管理し ます。

• ユーザによ る変更に応じ て、 ワーク スペース内のフ ァ イルの作成、更新、削除が行われます。

• 書き込み許可はユーザがフ ァ イルを編集する際に有効に され、変更をサブ ミ ッ ト する際に無

効に されます。

ユーザのワーク スペースの状態は、 PERFORCE によ り 追跡され、 管理されます。 PERFORCE アプ

リ ケーシ ョ ンによ り 実行される フ ァ イル管理と の衝突を避ける ため、 フ ァ イルの読み取 り 専用

の許可設定を手動で変更し ないで く だ さい。PERFORCE には、 あ る ク ラ イ アン ト ・ ワーク スペー

スの状態が、 PERFORCE に記録されている状態 と 一致し ているか否かを判定でき る コマン ド が

あ り ます。 詳し く は、 59 ページの 「オフ ラ イ ンで作業する」 をご覧 く だ さい。

PERFORCE によ り 制御される よ う 指定し ていないワーク スペース内のフ ァ イルは、 PERFORCE に

は無視されます。 例えば、 コ ンパイル済みオブジェ ク ト 、 ラ イブラ リ 、 実行可能フ ァ イル、 お

よびソ フ ト ウ ェ アの開発中に作成されたデ ィ ポに追加さ れていない開発者用一時フ ァ イルな

どは、 PERFORCE コマン ド の影響を受けません。

ク ラ イ アン ト ・ ワーク スペース を定義し た ら、 ワーク スペースの定義を微調整する こ と ができ

ます。 おそ ら く も重要な こ と は、 デ ィ ポ内のユーザが見る こ と のでき る部分を制限し て、 不

用意にデ ィ ポ全体を同期させないよ う にする こ と です。 詳し く は、 22 ページの 「ワーク スペー

ス ・ ビ ューの限定」 を参照し て く だ さい。

16 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 19: 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

Page 20: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

構成フ ァ イルで指定でき る設定項目を以下に示し ます。

これらの設定に関し て詳し く は、 『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:1818P4CLIENT=ona-ash

彼女は /home/ona/p4-ona に 2 番目の .p4settings フ ァ イルを作成し ます。そのフ ァ イルには次のテキス ト が含まれます。

P4PORT=tcp:warhol:1666P4CLIENT=ona-agave

彼女が /tmp/user/ona 配下の フ ァ イ ルに対 し て行 う 作業は、 ssl:ida:1818 にあ る PERFORCE サービ スによ り 管理されます。 /home/ona/p4-ona 配下のフ ァ イルに対し て 行 う 作業は、 tcp:warhol:1666 にあ る PERFORCE サービ スによ り 管理されます。

設定 説明

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 コマン ドおよび p4 reconcile コマン ド の使用時に無視する

フ ァ イルの リ ス ト です。

P4LANGUAGE こ の環境変数はシステムの統合用に予約されています。

P4MERGE p4 resolve のマージ ・ オプシ ョ ンで使用する サー ド ・ パーテ ィ の

マージ ・ プロ グ ラ ムの名前および場所

P4PASSWD PERFORCE ク ラ イ アン ト ・ コマン ド に対し、 現在の PERFORCE ユーザの

パス ワード を指定し ます。

P4PORT 接続先の PERFORCE サービ ス (プロ キシまたはブローカを含む) のプ

ロ ト コル、 ホス ト 、 およびポー ト 番号

P4TRUST 既知の (信頼さ れた) PERFORCE サーバのフ ァ イルがあ る場所。 こ の

フ ァ イルの内容は、p4 trust コマン ド を使用し て管理し ます。デフ ォ

ル ト で は、 こ の フ ァ イ ル は ユ ー ザ の ホ ー ム ・ デ ィ レ ク ト リ 内 の

.p4trust です。

P4USER 現在の PERFORCE ユーザ名

18 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 21: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

環境変数の使用

環境変数 を 使用 し て サーバ接続設定 を 構成す る には、 P4PORT を 以下の例の よ う に

protocol:host:port の形式で設定し て く だ さい。

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. ( 小限必要な) 設定を指定し、 仕様を保存し ます。

サービスが稼動し ている

場所

接続を待機し ている

ポー ト

暗号化プロ ト コルの

サポー ト

P4PORT の設定

自身のコ ンピ ュータ 1666 な し (プレーンテキス

ト )

localhost:1666

perforce 1666 SSL ssl:perforce:1666

houston 3435 な し (プレーンテキス

ト )

tcp:houston:3435

deneb.com 1818 SSL ssl:example.com:1818

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 19

Page 22: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

ク ラ イ アン ト 仕様を作成する と き、 フ ァ イルは一切同期さ れません。 フ ァ イルをデ ィ ポか ら

ワーク スペースに同期する方法を知るには、 48 ページの 「フ ァ イルの同期 (取得)」 を参照し

て く ださ い。 マシン上でのフ ァ イルの移動に関し て詳し く は、 27 ページの 「ワーク スペースの

場所を変更する」 を参照し て く だ さい。

ク ラ イ アン ト ・ ワーク スペースの構成において 小限指定し なければな ら ない設定は以下の通

り です。

• ワーク スペース名

ワーク スペース名はマシンのホ ス ト 名をデフ ォル ト と し ますが、ワーク ステーシ ョ ンには複

数の ワー ク スペース を含め る こ と がで き ます。 効果的に ワー ク スペース を指定する には、

P4CLIENT を設定し て く だ さい。

• ワーク スペース ・ ルー ト

ク ラ イ アン ト ・ ワーク スペース ・ ルー ト はク ラ イ アン ト ・ ワーク スペースの 上位のデ ィ レ

ク ト リ であ り 、 PERFORCE はそ こ にデ ィ ポ ・ フ ァ イルの作業用コ ピーを保存し ます。 ワーク

スペース ・ ルー ト を必ず設定し て く だ さい。 そ う し ない と、 フ ァ イルを不用意に自分のワー

ク ス テーシ ョ ンのルー ト ・ デ ィ レ ク ト リ に同期させて し ま う 可能性があ り ます。 (Windows

環境でワーク スペース ・ ルー ト を指定する際は、 ド ラ イブ文字も含める必要があ り ます。)

ワーク スペース ・ ルー ト ・ デ ィ レ ク ト リ が存在し ない場合は、 PERFORCE ク ラ イ アン ト ・ ワー

ク スペース ・ ビ ューがそれを使用でき る よ う に事前に作成し ておかなければな り ません。

文字 @、 #、 *、 % はそれぞれ、 PERFORCE では特別な意味があ り ます。 これらの文字を フ ァ

イル名またはフ ォルダ名に使用し ている場合は、 40 ページの 「フ ァ イル名 と 識別子におけ

る制限」 を参照し て く だ さい。

ク ラ イ アン ト ・ ワーク スペース ・ ビ ューによ り 、 デ ィ ポ内のどのフ ァ イルがワーク スペースに

マ ッ ピング されるかが決定され、 PERFORCE が個々のデ ィ ポ と ワーク スペース ・ フ ァ イルの間

に 1 対 1 のマ ッ ピングを構成する こ と ができ ます。デ ィ ポ内での名前や場所 と は異な る名前お

よびワーク スペース内の場所にフ ァ イルをマ ッ ピングする こ と ができ ますが、 ワーク スペース

ま たはデ ィ ポ内の複数の場所にフ ァ イルをマ ッ ピ ングする こ と はで き ません。 デフ ォル ト で

は、 デ ィ ポ全体がユーザのワー ク スペースにマ ッ ピ ン グ さ れます。 ク ラ イ アン ト ・ ワーク ス

ペース ・ ビ ューを定義し、 自分に関係する フ ァ イルおよびデ ィ レ ク ト リ のみをマ ッ ピングする

こ と によ り 、デ ィ ポ全体を不用意に自分のワーク スペースに同期させないよ う にする こ と がで

き ます。 詳し く は、 22 ページの 「ワーク スペース ・ ビ ューの限定」 を参照し て く だ さい。

例 : ワーク スペース ・ ビ ューの設定

ブルー ノ は、 p4 client コ マン ド を発行し て、 以下のデフ ォル ト の ワー ク スペース ・ ビ ュー定義を含むフ ォームを参照し ます。

彼は、 ビ ューを変更し てデ ィ ポの開発部分のみをマ ッ ピングする よ う にし ます。

Client: bruno_wsUpdate: 2011/11/29 09:46:53Access: 2011/03/02 10:28:40Owner: brunoRoot: c:\bruno_wsOptions: noallwrite noclobber nocompress unlocked nomodtime normdirSubmitOptions: submitunchangedLineEnd: localView: //depot/... //bruno_ws/...

View: //depot/dev/... //bruno_ws/dev/...

20 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 23: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

彼はさ らにビ ューを変更し て、フ ァ イルを複数のデ ィ ポから自分のワーク スペースにマ ッピング し ます。

接続の確認

接続状態を確認するには、 p4 info コマン ド を発行し ます。 P4PORT が正し く 設定されてい

れば、 次のよ う な情報が表示されます。

Server address: フ ィ ール ド には p4が接続し ている ホ ス ト 、および PERFORCE サービ スが接

続を待機し ている ホ ス ト 名 と ポー ト 番号が表示されます。 P4PORT の設定が正し く ない場合、

次のよ う な メ ッ セージを受け取 り ます。

エ ラー ・ メ ッ セージの 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 ネ ッ ト ワーク での接続

もサポー ト する よ う にな り ま し た。

View: //depot/dev/... //bruno_ws/depot/dev/... //testing/... //bruno_ws/testing/... //archive/... //bruno_ws/archive/...

User name: brunoClient name: bruno_wsClient host: workstation_12Client root: c:\bruno_wsCurrent directory: c:\bruno_wsClient address: 10.0.0.196Server address: ssl:example.com:1818Server root: /usr/depot/p4dServer date: 2012/03/28 15:03:05 -0700 PDTServer uptime: 752:41:33Server version: P4D/FREEBSD/2012.1/406375 (2012/01/25)Server encryption: encryptedServer license: P4Admin <p4adm> 20 users (expires 2013/01/01)Server license-ip: 10.0.0.2Case handling: sensitive

PERFORCE client error: Connect to server failed; check $P4PORT. TCP connect to perforce:1666 failed. perforce: host unknown.

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 21

Page 24: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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:] フ ィ ール ド にマ ッ ピングの リ ス ト が表

示されます。

以降のセ ク シ ョ ンにおいて、 ク ラ イ アン ト ・ ワーク スペース ・ ビ ューの指定に関し て詳し く 説

明し ます。 よ り 詳しい情報は、 『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 と

し て格納されます。

Client: bruno_wsOwner: brunoDescription: Created by bruno.Root: C:\bruno_wsOptions: noallwrite noclobber nocompress unlocked nomodtime normdirSubmitOptions: submitunchangedView: //depot/... //bruno_ws/...

22 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 25: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

後に記述されるマ ッ ピ ングが、 それよ り 前のマ ッ ピ ング よ り 優先されます。 以下の例では、 2

行目が 1 行目よ り 優先され、 //depot/dev/main/docs/manuals/ 内のフ ァ イルが 2 階層

上にマ ッ ピ ング さ れます。 //depot/dev/main/docs/manuals/ 内のフ ァ イルが同期さ れ

る と、 それらのフ ァ イルは c:\bruno_ws\docs\ に格納されます。

ワークスペース ・ ビ ューでのワイルド カー ドの使用

フ ァ イルの集合を ワーク スペース ・ ビ ューにマ ッ ピ ングするには、 PERFORCE ワ イル ド カー ド

を使用し ます。 マ ッ ピングのデ ィ ポ ・ サイ ド で使用される ワ イル ド カード が、 ク ラ イ アン ト ・

サイ ド のワ イル ド カード と一致する必要があ り ます。 ク ラ イ アン ト ・ ワーク スペースでのマ ッ

ピングの指定には、 以下のワ イル ド カード を使用でき ます。

単純な ク ラ イ アン ト ・ ビ ュー

//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/... //bruno_ws/dev/... //depot/dev/main/docs/... //bruno_ws/docs/...

ワイルド

カー ド

説明

* ス ラ ッ シ ュ を除 く すべての文字に一致し ます。 単一のデ ィ レ ク ト リ 内のみ照合し ま

す。 お使いのプラ ッ ト フ ォームによ っては大文字と小文字を区別し ます。

... ス ラ ッ シュ を含むすべての文字に一致し ます。 再帰的に (指定されたデ ィ レ ク ト リ

およびその配下のデ ィ レ ク ト リ 内すべてを) 照合し ます。

%%1 - %%9 フ ァ イル名のサブ文字列再配置に使用する位置指定子

注 フ ァ イルの不必要なマ ッ ピングを避け る ため、 「...」 ワ イル ド カー ド の前に必ずス

ラ ッ シュ を入れて く ださい。

View: //depot/dev/main/jam/... //dai-beos-locust/jam/... //depot/www/live/... //dai-beos-locust/www/live/...

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 23

Page 26: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

フ ァ イルをワークスペースの別の場所にマ ッ ピングする

ビ ューは複数のマ ッ ピングによ り 構成する こ と ができ ます。 それを使用し て、 デ ィ ポ ・ フ ァ イ

ル・ ツ リ ーの一部を ワーク スペース ・ フ ァ イル・ ツ リ ーの別の部分にマ ッ ピ ングでき ます。マ ッ

ピングが衝突する場合、 後のマ ッ ピングがそれ以前のマ ッ ピ ングに優先し ます。

例 : 単一のワーク スペース ・ ビ ューにおける複数のマ ッ ピ ング

以下のビ ューに よ り 、 manuals フ ォルダにあ る Microsoft Word のフ ァ イ ルが、 ワー ク ス ペース内で 上位にあ る wordfiles と い う フ ォルダに格納されます。

フ ァ イルを別のフ ァ イル名にマ ッ ピングする

マ ッ ピングによ り 、 ク ラ イ アン ト ・ ワーク スペース内のフ ァ イルをデ ィ ポ内のフ ァ イル と異な

る名前にする こ と もでき ます。

例 : フ ァ イルをデ ィ ポ内 と ク ラ イ アン ト ・ ワーク スペース内で異な る名前にする

以下のビ ューに よ り 、 デ ィ ポ ・ フ ァ イ ルの RELNOTES が ワー ク スペース ・ フ ァ イ ルの rnotes.txt にマ ッ ピング されます。

フ ァ イル名の一部を再配置する

位置指定子の %%0 から %%9 を使用し て、 フ ァ イル名 とデ ィ レ ク ト リ の一部を置き換え る こ と

ができ ます。

例 : 位置指定子を使用し てフ ァ イル名 とデ ィ レ ク ト リ を置き換え る

以下のビ ューに よ り 、 デ ィ ポ ・ フ ァ イルの //depot/allfiles/readme.txt がワーク ス ペース ・ フ ァ イルの filesbytype/txt/readme にマ ッ ピング されます。

フ ァ イルおよびデ ィ レ ク ト リ を除外する

除外マ ッ ピングによ り 、 フ ァ イルおよびデ ィ レ ク ト リ を ク ラ イ アン ト ・ ワーク スペースから明

示的に除外する こ と ができ ます。 フ ァ イルおよびデ ィ レ ク ト リ を除外するには、 マ ッ ピングの

先頭にマ イナス記号 (-) を付けます。 マ イナス記号 と マ ッ ピ ングの間にスペース を入れない

よ う に注意し て く だ さい。

例 : ビ ューを使用し てフ ァ イルを ク ラ イ アン ト ・ ワーク スペースから除外する

Jam プロ ジェ ク ト に従事し ている アールは、自分のワーク スペースに HTML フ ァ イルを同 期し た く あ り ません。 彼の ク ラ イ アン ト ・ ビ ューは次のよ う にな り ます。

View: //depot/... //bruno_ws/... //depot/dev/main/docs/manuals/*.doc //bruno_ws/wordfiles/*.doc

View: //depot/... //bruno_ws/... //depot/dev/main/jam/RELNOTES //bruno_ws/dev/main/jam/rnotes.txt

View: //depot/allfiles/%%1.%%2 //bruno_ws/filesbytype/%%2/%%1

View: //depot/dev/main/jam/... //earl-dev-beech/jam/... -//depot/dev/main/jam/....html //earl-dev-beech/jam/....html

24 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 27: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

マ ッ ピングの衝突を回避する

単一のビ ューにおいて複数のマ ッ ピングを使用する と き、単一のフ ァ イルが不用意にデ ィ ポま

たはワーク スペースの異なる 2 つの場所にマ ッ ピング される場合があ り ます。 こ のよ う にし て

2 つのマ ッ ピングが衝突する場合、 後のマ ッ ピングがそれ以前のマ ッ ピングを無効にし ます。

例 : 衝突する誤ったマ ッ ピング

ジ ョ ーは次のよ う にビ ューを構成し ま し た。

2 番目のマ ッ ピング //depot/proj2/... が //joe/project/... にマ ッ ピング され、 初のマ ッ ピ ン グ と 衝突 し ま す。 こ の衝突に よ り 、 初のマ ッ ピ ン グは無視 さ れ ま す。//depot/proj1 に含まれている フ ァ イルはワーク スペースにま った く マ ッ ピング されま せん。 そのため //depot/proj2/file.c が存在し な く て も、 //depot/proj1/file.c はマ ッ ピング されません。

異なるデ ィ ポの場所を 1 つのワークスペースにマ ッ ピングする

オーバレ イ ・ マ ッ ピングによ り 、 2 つ以上のデ ィ ポ ・ デ ィ レ ク ト リ のフ ァ イルを ワーク スペー

スの同じ場所にマ ッ ピ ン グで き ます。 2 番目のデ ィ レ ク ト リ の内容を ワーク スペースにオー

バーレ イするには、 マ ッ ピングの先頭にプラ ス記号 (+) を付けます。

例 : 複数のデ ィ レ ク ト リ を同じ ワーク スペースにオーバーレ イする

ジ ョ ーは、 ワーク スペース を同期する と きにプロ ジェ ク ト のフ ァ イルを結合し たいので、次のよ う にビ ューを構成し ま し た。

オーバレ イ ・ マ ッ ピングであ る +//depot/proj2/... は //joe/project にマ ッ ピング し、 初のマ ッ ピングをオーバレ イ し ます。 オーバレ イ ・ マ ッ ピングは衝突し ません。 //depot/proj2 内のフ ァ イル (削除されたフ ァ イルも含む) が //depot/proj1よ り も優先されます。 //depot/proj2/file.c が存在し ない場合 (「存在する」 フ ァイルに相対するが、 「削除されたフ ァ イル」 ではない)、 代わ り に //depot/proj1/file.c がワーク スペースにマ ッ ピング されます。

オーバーレ イ ・ マ ッ ピングは、 ビル ド環境においてスパース ・ パッチを適用する際に役立ちま

す。

フ ァ イル名およびデ ィ レ ク ト リ名におけるスペースの取り扱い

スペース を含むフ ァ イルまたはデ ィ レ ク ト リ は、 引用符を使用し て囲みます。

例 : フ ァ イル名とデ ィ レ ク ト リ 名のスペースに対応する

ジ ョ ーは、 デ ィ ポ内のフ ァ イルを ワーク スペースにマ ッ ピング し たいのですが、 い く つかのパスにスペースが含まれています。

View: //depot/proj1/... //joe/project/... //depot/proj2/... //joe/project/...

View: //depot/proj1/... //joe/project/... +//depot/proj2/... //joe/project/...

View: "//depot/Release 2.0/..." //joe/current/... "//depot/Release 1.1/..." "//joe/Patch Release/..." //depot/webstats/2011/... "//joe/2011 Web Stats/..."

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 25

Page 28: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

マ ッ ピングのサーバ側、 ク ラ イ アン ト 側、 または両側で、 パスの構成要素の前後に引用符を挿入する こ と によ り 、ジ ョ ーはスペース を含むフ ァ イル名やデ ィ レ ク ト リ 構成要素を指定する こ と ができ ます。

詳し く は、40 ページの「フ ァ イル名、パス名、識別子でのスペースの使用」 を参照し て く だ さい。

Windows のワークスペースを複数のド ラ イブにマ ッ ピングする

複数の Windows ド ラ イブにわたって PERFORCE ワーク スペース を指定するには、 [Root:] を null

に設定し、 ワーク スペース ・ ビ ューで ド ラ イブ文字を (小文字で) 指定し ます。 以下に例を示

し ます。

同一のワークスペースを異なるマシンで使用する

デフ ォル ト では、[Host:] フ ィ ール ド で指定されたマシン上のワーク スペースのみが使用でき

ます。 同一のワーク スペース を異な るプ ラ ッ ト フ ォームの複数のマシン上で使用し たい場合、

ク ラ イ アン ト ・ ワーク スペース仕様の [Host:] 項目を削除し、 [AltRoots:] フ ィ ール ド を設

定し て く だ さい。 ワーク スペース ・ ルー ト は 2 つまで指定でき ます。 指定する場所は、 例えば

NFS または Samba マウ ン ト を介し て、 使用するすべてのマシンか ら参照可能であ る必要があ

り ます。

PERFORCE は現在の作業デ ィ レ ク ト リ を 初に メ イ ンの [Root:] と比較し、 次に (指定されて

いれば) 2 つの [AltRoots:] と比較し ます。現在の作業デ ィ レ ク ト リ と一致するルー ト ・デ ィ

レ ク ト リ が使用されます。 ルー ト が一致し ない場合、 メ イ ン ・ ルー ト が使用されます。

以下の例において、 ユーザ bruno の現在の作業デ ィ レ ク ト リ が /usr/bruno の下であ る場

合、 PERFORCE は c:\bruno_ws ではな く UNIX のパス を ワーク スペース ・ ルー ト と し て使用

し ます。 この手法によ り 、bruno は UNIX と Windows の両開発環境において同一の ク ラ イ アン

ト ・ ワーク スペース仕様を使用する こ と ができ ます。

どち らのワーク スペース ・ ルー ト が適用されているか確認するには、 p4 info コマン ド を発

行し て [Client root:] フ ィ ール ド をチェ ッ ク し ます。

同一のワーク スペースにあ る テキ ス ト ・ フ ァ イルを異な る プ ラ ッ ト フ ォームか ら編集する場

合、 使用するエデ ィ タおよび設定で行末が保持される こ と を確認し て く だ さい。 異な るプラ ッ

Client: bruno_wsUpdate: 2011/11/29 09:46:53Access: 2011/03/02 10:28:40Owner: brunoRoot: nullOptions: noallwrite noclobber nocompress unlocked nomodtime normdirSubmitOptions: submitunchangedLineEnd: localView: //depot/dev/... "//bruno_ws/c:/Current Release/..." //depot/release/... "//bruno_ws/d:/Prior Releases/..." //depot/www/... //bruno_ws/d:/website/...

注 ワ ー ク ス ペー ス ・ ルー ト に Windows のデ ィ レ ク ト リ を 使用 し て い る 場合、 そ の

Windows のデ ィ レ ク ト リ を メ イ ンの ク ラ イ アン ト [Root:] に指定し、 他のワーク ス

ペース ・ ルー ト ・ デ ィ レ ク ト リ を [AltRoots:] フ ィ ール ド に指定し て く ださい。

Client: bruno_wsOwner: brunoDescription: Created by bruno.Root: c:\bruno_wsAltRoots: /usr/bruno/

26 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 29: 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

Page 30: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

ワークスペース ・ オプシ ョ ンの構成

ワーク スペースの [Options:] フ ィ ール ド の詳細を以下の表に示し ます。

オプシ ョ ン 意味 デフ ォル ト

[no]allwrite 作業状態になっていないフ ァ イルは常に書き込み可能 と する

かを指定し ます。 デフ ォル ト では、 PERFORCE サーバは作業状

態になっていないフ ァ イルを読み取 り 専用にし ます。フ ァ イル

の不用意な上書きや同期の失敗を防ぐため、 noallwrite を

指定し て く ださい。

allwrite が設定 さ れてい る 場合、 こ のオプシ ョ ン に よ り

noclobber は無効にな り ます。

allwrite が設定される と、作業状態になっていないフ ァ イル

は現在のユーザが書き込み可能な状態のま まにな り ます。複数

シ ス テムのユーザか ら書き込み可能であ る よ う にフ ァ イルシ

ステムのパー ミ ッ シ ョ ンを設定する こ と はあ り ません。

noallwrite

[no]clobber p4 sync の実行時、 作業状態にな っ ていない書 き 込み可能

フ ァ イルを上書きするかを指定し ます。 (デフ ォル ト では、 作

業状態にな っ ていないフ ァ イ ルが書き込み可能であ る場合、

PERFORCE はそれを上書き し ません。)

allwriteが設定されている場合、clobberが暗黙的に想定さ

れ、noclobber オプシ ョ ンが設定されていて も無視されます。

noclobber

[no]compress ワーク ステーシ ョ ン と PERFORCE サーバの間で送信されるデー

タ を圧縮するかを指定し ます。

nocompress

[un]locked 他のユーザによ り ク ラ イ アン ト ・ ワーク スペース仕様の使用、

編集または削除が可能であ るかを指定し ます。 PERFORCE 管理

者は -f (force) オプシ ョ ンを使って ロ ッ ク をオーバーラ イ ドす

る こ と ができ ます。

ク ラ イ アント ・ ワ ーク ス ペース 仕様をロ ッ ク する 場合、必ずワ ー

ク ス ペース 所有者用のパス ワ ード を p4 passwd コ マンド によ

り 設定し てく ださ い。

unlocked

[no]modtime +m (modtime) フ ァ イルタ イ プ修飾子を持たないフ ァ イルの場

合、 modtime が設定されている と、 フ ァ イルがデ ィ ポにサブ

ミ ッ ト された と きにフ ァ イルに表示された日付が、新たに同期

されたフ ァ イルの更新日 (ローカル ・ フ ァ イルシステム上の)

にな り ます。 nomodtime が設定されている場合、 同期の日時

が更新日にな り ます。

+m (modtime) フ ァ イルタ イプ修飾子を持つフ ァ イルの場合、 ク

ラ イ アン ト の modtime ま たは nomodtime の設定に関係な

く 、フ ァ イルがデ ィ ポにサブ ミ ッ ト された と きにフ ァ イルに表

示された日付が、新たに同期されたフ ァ イルの更新日 (ローカ

ル ・ フ ァ イルシステム上の) にな り ます。

nomodtime (同期の日時)

+m フ ァ イ ル タ イ

プ 修 飾 子 を 持 つ

フ ァ イルについて

は無視されます。

[no]rmdir デ ィ レ ク ト リ 内のすべての フ ァ イ ルが削除 さ れた場合、 p4sync に よ り ワー ク スペース内の空のデ ィ レ ク ト リ を削除す

るかを指定し ます。

normdir

28 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 31: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

サブ ミ ッ ト ・ オプシ ョ ンの設定

チェ ンジ リ ス ト をデ ィ ポにサブ ミ ッ ト する と き、チェ ンジ リ ス ト 内のフ ァ イルをどのよ う に扱

う かを制御するには、 [SubmitOptions:] フ ィ ール ド を設定し ます。 有効な設定を以下に示

し ます。

オプシ ョ ン 意味

submitunchanged すべての作業状態のフ ァ イル (変更の有無にかかわらず) がデ ィ ポに

サブ ミ ッ ト されます。 これは PERFORCE のデフ ォル ト の動作です。

submitunchanged+reopen すべての作業状態のフ ァ イル (変更の有無にかかわらず) がデ ィ ポに

サブ ミ ッ ト され、すべてのフ ァ イルが自動的にデフ ォル ト ・ チェ ンジ

リ ス ト で再度作業状態にされます。

revertunchanged 内容ま たはフ ァ イルタ イ プが変更さ れたフ ァ イルのみがデ ィ ポにサ

ブ ミ ッ ト されます。 未変更のフ ァ イルは元に戻し ます。

revertunchanged+reopen 内容ま たはフ ァ イルタ イ プが変更さ れたフ ァ イルのみがデ ィ ポにサ

ブ ミ ッ ト され、デフ ォル ト ・ チェ ンジ リ ス ト で再度作業状態にされま

す。 未変更のフ ァ イルは元に戻し ますが、 デフ ォル ト ・ チェ ンジ リ ス

ト では作業状態にされません。

leaveunchanged 内容ま たはフ ァ イルタ イ プが変更さ れたフ ァ イルのみがデ ィ ポにサ

ブ ミ ッ ト されます。未変更のフ ァ イルはデフ ォル ト ・ チェ ンジ リ ス ト

に移動されます。

leaveunchanged+reopen 内容ま たはフ ァ イルタ イ プが変更さ れたフ ァ イルのみがデ ィ ポにサ

ブ ミ ッ ト されます。未変更のフ ァ イルはデフ ォル ト ・ チェ ンジ リ ス ト

に移動され、変更済みのフ ァ イルはデフ ォル ト ・ チェ ンジ リ ス ト で再

度 作 業 状 態 に さ れ ま す。 こ の オ プ シ ョ ン は

submitunchanged+reopen と似ていますが、 未変更のフ ァ イルは

デ ィ ポにサブ ミ ッ ト されません。

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 29

Page 32: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

行末コー ドの設定

テ キ ス ト ・ フ ァ イ ル を 同期す る と き、 行末 を ど の よ う に 変換す る か を 指定す る に は、

[LineEnd:] フ ィ ール ド を設定し ます。 有効な設定を以下に示し ます。

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. ワーク スペース仕様を削除し ます。

ワーク スペースから フ ァ イルを削除する前にワーク スペース仕様を削除する場合、お使いのオ

ペレーテ ィ ング ・ システムのフ ァ イル削除コマン ド を使用し てワーク スペースのフ ァ イルを削

除でき ます。

オプシ ョ ン 意味

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 ワーク ス テーシ ョ ンのユーザで

し ょ う 。

30 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 33: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

セキュ リ テ ィ

セキ ュ リ テ ィ を確保する ため、PERFORCE 管理者は PERFORCE サービ スが SSL 暗号化接続および

ユーザ ・ パス ワード を要求する よ う にし、 ロ グ イ ン ・ チケ ッ ト の有効期間を制限する よ う に設

定でき ます。 設定について、 次のセ ク シ ョ ンで詳し く 説明し ます。

SSL 暗号化接続

お使いのイ ンス ト ールでSSL接続が必要と される場合、P4PORTを確実にssl:hostname:portの形式にして く ださい。 SSL 接続が有効にされた PERFORCE サーバでプレーンテキス ト によ る通

信を行お う とする と、 次のエラー ・ メ ッセージが表示されます。

P4PORT を ssl:hostname:port に設定し て、 サーバに再接続を試みて く だ さい。

SSL が有効に されているサーバに 初に暗号化接続を確立し た と きに、 サーバのフ ィ ンガープ

リ ン ト を検証する よ う に要求されます。

サ イ ト の管理者は、 表示されたフ ィ ンガープ リ ン ト が正し いか否かを確認する こ と がで き ま

す。 フ ィ ンガープ リ ン ト が正しい場合 (に限 り )、 P4 TRUST を使用し てそれを自分の P4TRUST フ ァ イルに追加し ます。P4TRUST が未設定であ る場合、 このフ ァ イルはユーザのホーム ・デ ィ

レ ク ト リ 内の .p4trust であ る と想定されます。

フ ィ ンガープ リ ン ト が正し ければ、 yes と入力し て このサーバを信頼し ます。 フ ィ ンガープ リ

ン ト を直接コマン ド ラ イ ンから trust フ ァ イルにイ ン ス ト ールする こ と も可能です。 次のコマ

ン ド を実行し ます。

p4 trust -p ssl:hostname:port -i fingerprint

ただし、 ssl:hostname:port はお使いの P4PORT の設定に該当し、 fingerprint はサイ

ト の管理者が確認し たフ ィ ンガープ リ ン ト に該当し ます。

これ以降は、 example.com:1818 のサーバが P4TRUST フ ァ イル内に記録された もの と同じ

フ ィ ンガープ リ ン ト を報告し続ける限 り 、 ssl:example.com:1818 への SSL 接続が信頼さ

れます。

Failed client connect, server using SSL.Client must add SSL protocol prefix to P4PORT.

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 isCA:BE:5B:77:14:1B:2E:97:F0:5F:31:6E:33:6F:0E:1A:E9:DA:EF:E2

$ 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)

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 31

Page 34: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

PERFORCE サーバが信頼済みのもの と は異な る フ ィ ンガープ リ ン ト を報告する と、次のエラー・

メ ッ セージが表示されます。

こ のエラー ・ メ ッ セージは、 そのサーバのフ ィ ンガープ リ ン ト が P4TRUST フ ァ イルに保存さ

れた ものから変更されている こ と と、 サーバの SSL 証明書が変更されている こ と を示し ます。

フ ィ ンガープ リ ン ト への変更が正当な ものであ る場合で も (例えば、 サーバの SSL 証明書の有

効期間を管理者が制御し ている場合に証明書が期限切れになっている可能性があ る と き) 、 セ

キ ュ リ テ ィ ・ リ ス クの存在を示すこ と があ り ます。

プレーンテキス ト 接続を必要とするサービスに接続する

お使いの PERFORCE イ ン ス ト ールで (古い PERFORCE アプ リ ケーシ ョ ンをサポー ト する ため) プ

レーンテキス ト 接続が必要 と される場合、 P4PORT を tcp:hostname:port に設定し て く だ

さ い。 プレーンテキス ト 接続を予期するサービ スに SSL を使用し て接続し よ う とする と、 次の

エラー ・ メ ッ セージが表示されます。

P4PORT を tcp:hostname:port に(または、リ リ ース 2011.1 以前のアプ リ ケーシ ョ ンを使用

し ている場合は P4PORT を hostname:port に) 設定し て、 サービ スへの再接続を試みて く

ださい。

パスワー ド

PERFORCE イ ン ス ト ールが適用し ているセキ ュ リ テ ィ ・ レベルによ って、 PERFORCE コマン ド を

実行する前に PERFORCE にロ グ イ ンする必要があ る場合があ り ます。 パス ワード を使用し ない

と、 どのユーザも、 P4USER の値を別のユーザ名に設定し た り 、 -u オプシ ョ ンを付けて p4 コ

マン ド を発行する こ と によ り 、 他の PERFORCE ユーザ と し て操作する こ と が可能です。 セキ ュ

リ テ ィ を向上させるには、 パス ワード を使用し て く だ さい。

パスワー ドの設定

PERFORCE ユーザにパス ワード を作成するには、 p4 passwd コマン ド を発行し て く だ さい。

パス ワー ド の長さ は 1024 文字までです。 シ ス テム管理者は、 PERFORCE が 「強力な」 パス

ワー ド を要求する よ う に設定する こ と がで き、 パス ワー ド の 小文字数を指定で き ます。 デ

******* WARNING P4PORT IDENTIFICATION HAS CHANGED! *******

It is possible that someone is intercepting your connectionto the Perforce P4PORT '10.0.50.39:1667'

If this is not a scheduled key change, then you should contactyour Perforce administrator.

The fingerprint for the mismatched key sent to your client is18: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.

警告 こ のエ ラー ・ メ ッ セージが表示され、 PERFORCE 管理者か ら サーバのキー と 証

明書のペアを変更し た と い う 連絡がない場合、 報告されたフ ィ ンガープ リ ン ト

が正しいかをユーザが個別に検証し なければな り ません。

新しいフ ィ ンガープ リ ン ト の正確さ を個別に (会社のイ ン ト ラ ネ ッ ト ・ サイ ト

で確認するか、 個人的に管理者に問い合わせる など、 帯域外の手段を用いて)

確認で き ない場合は、 変更 さ れた フ ィ ンガープ リ ン ト を信頼し てはな り ませ

ん。

Perforce client error: SSL connect to ssl:host:port failed (Connection reset by peer). Remove SSL protocol prefix from P4PORT.

32 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 35: 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

Page 36: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 ユーザーズ ・ ガ イ ド

Page 37: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

Unicode モード の PERFORCE サービ スは、 Unicode のフ ァ イルおよび メ タデータ をユーザのワー

ク ステーシ ョ ン用に構成された文字セ ッ ト に変換し、 unicode フ ァ イルや メ タデータに有効

な UTF-8 の文字が含まれている こ と を検証し ます。

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の環境変数の設定を調べます。 一般的な設定を以下に示し ます。

通常は、 日本語のイ ン ス ト ールでは P4CHARSET を eucjp に設定し、 ヨーロ ッパ言語のイ ン

ス ト ールでは P4CHARSET を iso8859-1 に設定し ます。

注 Unicode 文字を含むテキス ト ・ フ ァ イルを管理するだけでよ く 、上述し た機能

が必要ない場合は、 PERFORCE を Unicode モー ド で動作させる必要はあ り ませ

ん。 お使いのサイ ト が Unicode モード を使用し ているかど う かは、 システム

管理者にお尋ね く だ さい。

これらのイ ン ス ト ールでは、PERFORCE フ ァ イルタ イプの utf16 を Unicode 文

字を含むテキ ス ト ・ フ ァ イルに割 り 当てます。 環境変数の P4CHARSET また

は P4COMMANDCHARSET を設定する必要はあ り ません。 詳し く は、 119 ペー

ジの 「Unicode のフ ァ イルにフ ァ イルタ イプを割 り 当て る」 を参照し て く だ さ

い。

LANG の設定 P4CHARSET の設定

en_US.ISO_8859-1 iso8859-1

ja_JP.EUC eucjp

ja_JP.PCK shiftjis

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 35

Page 38: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 2 章 : P4 の構成

36 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 39: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 3 章 P4 コマン ドの発行

本章では 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

Page 40: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 3 章 : P4 コマン ド の発行

特定のコマン ド のオプシ ョ ンを表示するには、 p4 help コマン ド を発行し ます。 例を示し ま

す。

グ ローバル ・ オプシ ョ ン、 コ マン ド、 コ マン ド 固有のオプシ ョ ンについての完全な リ ス ト は、

『PERFORCE コマン ド ・ リ フ ァ レ ン ス』 をご覧 く ださ い。

-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 ネ ッ ト ワーク がタ イ ムア ウ ト し た場合にコマン ド (特に p4 sync) を再試行

する回数を指定し ます。

-Q charset コマン ド の入出力に使用する文字セ ッ ト を指定し ます。 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 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.[...]

グローバル ・ オプ

シ ョ ン

説明および使用例

38 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 41: 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

Page 42: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 3 章 : P4 コマン ド の発行

ワ イル ド カード * は、 コマン ド が PERFORCE サービ スに送られる前にローカル OS によ り 拡張

されます。 ローカル OS によ ってワ イル ド カード * が拡張されないよ う にするには、 * を引用

符で囲むか、 前に逆ス ラ ッ シ ュ を付けます。

フ ァ イル名と識別子における制限

フ ァ イル名、 パス名、 識別子でのスペースの使用

スペース を含むフ ァ イルやデ ィ レ ク ト リ は引用符で囲み、 例えば次のよ う に指定し ます。

"//depot/dev/main/docs/manuals/recommended configuration.doc"

その他の PERFORCE オブジェ ク ト 、 例えばブラ ンチ名、 ク ラ イ アン ト 名、 ラベル名などの中に

スペース を指定する と、 そのスペースは PERFORCE サービ スによ って自動的にアンダース コ ア

に変換されます。

長さの制限

ブラ ンチやク ラ イ アン ト ・ワーク スペースなどの PERFORCE オブジェ ク ト に付ける名前は、1024

文字を超えてはな り ません。

予約文字

デフ ォル ト では、 以下に示す予約文字を PERFORCE 識別子または PERFORCE によ り 管理される

フ ァ イルの名前に使用する こ と はでき ません。

上記の文字には、 衝突する別の用法があ り ます。 その衝突には以下の ものが含まれます。

• UNIX ではパス ・ コ ンポーネン ト を / で区切 り ますが、 DOS コマン ド では大抵、 / を コマン

ド ラ イ ン ス イ ッ チ と解釈し ます。

• UNIX シェルではほ と んどの場合、 # を コ メ ン ト の始ま り と解釈し ます。

• UDOS シェル、 UNIX シェルの両方 と も、 複数のフ ァ イル と照合する よ う * を自動的に拡張

し、 DOS コマン ド ラ イ ンでは % によ り 変数を表し ます。

これらの文字を フ ァ イル名やパス名に指定するには、 以下に示す ASCII 文字表現の 16 進値を

使用し ます。

注 ワ イル ド カード "..." は p4 add コマン ド では使用でき ません。 ワ イル ド

カード "..." は PERFORCE サービ スによ って拡張されますが、 サービ スでは

追加 さ れる フ ァ イ ルを判断で き ないため、 ワ イル ド カー ド を拡張で き ませ

ん。 ワ イル ド カード * は、PERFORCE ではな く OS シェルによ り 拡張される た

め、 p4 add で使用でき ます。

予約文字 理由

@ 日付、 ラベル名、 チェ ンジ リ ス ト 番号に使用する フ ァ イル ・ リ ビジ ョ ン

指定子

# フ ァ イル ・ リ ビジ ョ ン番号

* ワ イル ド カード

... ワ イル ド カード (再帰的)

%%1 - %%9 ワ イル ド カード (位置的)

/ パス名コ ンポーネン ト 分離記号

文字 ASCII 表現

@ %40

# %23

40 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 43: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 3 章 : P4 コマン ド の発行

フ ァ イルを追加する際に字義通 り にフ ァ イル名を指定し、後に 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 つずつ増加し ます。 新 リ ビ

ジ ョ ン よ り 前の リ ビジ ョ ンを指定するには、リ ビジ ョ ン指定子 # を使用し て リ ビジ ョ ン番号を

指定するか、 @ を使用し て作業中のフ ァ イルのバージ ョ ンに対応する日付、 チェ ンジ リ ス ト 、

ク ラ イ アン ト ・ ワーク スペース またはラベルを指定し ます。 リ ビジ ョ ン仕様を使用し て、 コマ

ン ド の有効範囲を特定のフ ァ イル ・ リ ビジ ョ ンに制限する こ と ができ ます。

* %2A

% %25

警告 OS シェルの中には、PERFORCE リ ビジ ョ ン ・ キ ャ ラ ク タ # が語の 初にあ る場

合、 # を コ メ ン ト ・ キ ャ ラ ク タ と し て処理する ものがあ り ます。 ご使用のシェ

ルが これに該当する場合は、 p4 コマン ド で使用する際に # をエス ケープし て

く だ さい。

文字 ASCII 表現

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 41

Page 44: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 ユーザーズ ・ ガ イ ド

Page 45: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 3 章 : P4 コマン ド の発行

例 : リ ビジ ョ ン指定子を使ってフ ァ イルを取得する

ブルー ノ はチェ ンジ リ ス ト 番号 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 を除き ます。 それらのコマン ド で

は範囲内の 新の リ ビジ ョ ンが処理されます)。

特定の日の特定時刻にお

け る デ ィ ポ内の フ ァ イ ル

の 新 リ ビジ ョ ン

file@"date[:time]"

例 :

p4 sync //depot/dev/main/jam/Jambase@”2011/05/18”

日付 を YYYY/MM/DD の形式で指定 し、 時刻 を 24 時間表記で

HH:MM:SS の形式で指定し ます。時刻のデフ ォル ト は 00:00:00 です。

日付 と 時刻を単一のスペース またはコ ロ ンで区切 り ます (スペース

で区切る場合、 日付 と 時刻の指定全体を二重引用符で囲む必要があ

り ます)。

対象リ ビジ ョ ン 構文と例

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 43

Page 46: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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’

レポー ト ・ コ マン ド

有用なレポー ト ・ コマン ド を以下の表に示し ます。

PERFORCE フ ォームの使用

PERFORCE コマン ド の う ち、p4 client や p4 submit などは、 テキス ト エデ ィ タ を使用し て

フ ォームを表示し、 ユーザがそのフ ォームから コマン ド を完了させるのに必要な情報 (例えば

サブ ミ ッ ト するチェ ンジの説明など) を入力し ます。 ユーザがフ ォームを変更し、 保存し てエ

デ ィ タ を終了する と、 PERFORCE はフ ォームを解析し、 フ ォーム内の情報を使用し て コマン ド

を完了させます。 (PERFORCE フ ォームの表示および編集に使用される テキス ト エデ ィ タ を指定

するには、 P4EDITOR を設定し ます。)

PERFORCE フ ォームに情報を入力する際は、 次の規則に従って く だ さい。

• フ ィ ール ド名 ([View:] など) は左づめ (イ ンデン ト な し) で、 末尾にコ ロ ンを付けます。

• フ ィ ール ド値 (入力値) はフ ィ ール ド名 と同じ行に記述するか、 フ ィ ール ド 名の下の行にタ

ブでイ ンデン ト を付けて記述し ます。

い く つかのフ ィ ール ド 名、例えば p4 client フ ォームの [CLIENT:] (ク ラ イ アン ト 名:) フ ィ ー

ル ド などは、 単一の値にな り ます。 他のフ ィ ール ド、 例えば [Description:] (コ メ ン ト : )

などは、 テキス ト ・ ブロ ッ ク の形式にな り ます。 さ らに他のフ ィ ール ド 、 例えば [View:] など

は、 1 行に複数の値を取 り ます。

表示内容 使用する コマン ド

すべての 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

44 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 47: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 3 章 : P4 コマン ド の発行

ク ラ イ アン ト ・ ワーク スペース ・ フ ォームの [Client:] フ ィ ール ド などの値は変更でき ませ

ん。 他のフ ィ ール ド、 例えば p4 submit の [Description:] などは、 値を変更し なければ な り ません。 変更する必要のあ る フ ィ ール ド を変更し ない場合、 または変更不可の値を変更し

よ う と する と、 PERFORCE によ り エ ラーが表示されます。 変更可能なフ ィ ール ド に関し て詳し

く は、 『PERFORCE コマン ド ・ リ フ ァ レ ン ス』 を参照するか、 p4 help コ マン ド を使用し て く

ださい。

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 45

Page 48: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 3 章 : P4 コマン ド の発行

46 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 49: 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

Page 50: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

デ ィ ポに対する フ ァ イルの追加、 削除、 更新は、 そのフ ァ イルが作業状態に されている作業中

チェ ンジ リ ス ト を正常にサブ ミ ッ ト し た場合にのみ行われます。 1 つのチェ ンジ リ ス ト には追

加目的、 編集目的、 削除目的の作業状態のフ ァ イルを混在させる こ と ができ ます。

コマン ド ラ イ ン上でのフ ァ イルの指定に使用する構文について詳し く は、39 ページの 「コマン

ド ラ イ ンでフ ァ イル名を指定する」 を参照し て く だ さい。 以降のセ ク シ ョ ンでは、 フ ァ イルの

操作について詳し く 説明し ます。

フ ァ イルの同期 (取得)

フ ァ イルをデ ィ ポか ら ク ラ イ アン ト ・ ワーク スペースに取得するには、 p4 sync コマン ド を

発行し ます。 自分の ク ラ イ アン ト ・ ビ ューに存在し ないフ ァ イルを同期させる こ と はでき ませ

ん。 ク ラ イ アン ト ・ ビ ューの指定について詳し く は、 22 ページの 「ワーク スペース ・ ビ ューの

限定」 をご覧 く だ さい。

例 : デ ィ ポから ク ラ イ アン ト ・ ワーク スペースへのフ ァ イルのコ ピー

以下のコマン ド によ り 、 ク ラ イ アン ト ・ ビ ューにあ るすべてのフ ァ イルの 新 リ ビジ ョ ンがデ ィ ポから ワーク スペースに取得されます。 フ ァ イルが同期される と、 コマン ド出力にリ ス ト 表示されます。

p4 sync コマン ド によ り 、 ク ラ イ アン ト ・ ワーク スペース内のフ ァ イルが追加、 更新、 また

は削除され、 ワーク スペースの内容がデ ィ ポ と同期されます。 あ る フ ァ イルがデ ィ ポ内の特定

のサブデ ィ レ ク ト リ に存在し、 そのデ ィ レ ク ト リ が ク ラ イ アン ト ・ ワーク スペースに存在し な

い場合、 デ ィ レ ク ト リ はフ ァ イルを同期する と きに ク ラ イ アン ト ・ ワーク スペースに作成され

ます。 フ ァ イルがデ ィ ポから削除されている場合、p4 sync コマン ド実行時に ク ラ イ アン ト ・

ワーク スペースから も削除されます。

デ ィ ポ内のフ ァ イルの 新 リ ビジ ョ ン よ り 前の リ ビジ ョ ンを同期させるには、 リ ビジ ョ ン指定

子を使用し ます。 例えば、 複数 リ ビジ ョ ンのあ る Jamfile の 1 番目の リ ビジ ョ ン と同期させ

るには、 次のコマン ド を発行し ます。

sync //depot/dev/main/jam/Jamfile#1

よ り 詳し く は、 41 ページの 「フ ァ イル ・ リ ビジ ョ ンを指定する」 をご覧 く だ さい。

変更を破棄する フ ァ イルま たはフ ァ イルが作業状態になってい るチェ ンジ リ ス ト をキ ャ

ンセルし ます。 キ ャ ンセル操作は、 作業状態のフ ァ イルに次のよ う に影響

し ます。

追加 : 影響な し-フ ァ イルはワーク スペースに残 り ます。

編集 : 作業状態に し た リ ビ ジ ョ ンが再度デ ィ ポか ら同期 さ れ、 ワー ク ス

ペースにあ る フ ァ イルに加えた変更は上書き されます。

削除 : フ ァ イルは再度ワーク スペースから同期されます。

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

[...]

タ スク 説明

48 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 51: 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 コマン ド の発 行時に 「*」 ワ イル ド カード を使います。

これで、 ブルー ノ がデ ィ ポに追加し たいフ ァ イルが彼のデフ ォル ト ・ チェ ンジ リ ス ト 内で作業状態にな り ま し た。チェ ンジ リ ス ト がサブ ミ ッ ト される と き、 フ ァ イルはデ ィ ポに格納されます。

例 : チェ ンジ リ ス ト をデ ィ ポにサブ ミ ッ ト する

ブルー ノ はフ ァ イルをデ ィ ポに追加する準備ができ ま し た。彼が p4 submit と入力する と、 標準のテキ ス ト ・ エデ ィ タに次のよ う なフ ォームが表示されます。

ブルー ノ は [Description:] フ ィ ール ド の内容を変更し、 自分が行ったフ ァ イル更新の 説明を記述し ます。 入力後、 フ ォームを保存し てエデ ィ タ を終了する と、 新しいフ ァ イルがデ ィ ポに追加されます。

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

Change: newClient: bruno_wsUser: brunoStatus: newDescription: <enter description here>Type: publicFiles: //depot/dev/main/docs/manuals/installnotes.txt # add //depot/dev/main/docs/manuals/requirements.txt # add

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 49

Page 52: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

[Description:] フ ィ ール ド にはコ メ ン ト を入力し なければな り ません。 [Files:] フ ィ ール

ド か ら は行を削除し て も構いません。 こ の リ ス ト か ら削除さ れた フ ァ イルは、 次のデフ ォル

ト ・ チェ ンジ リ ス ト に移動され、 次回デフ ォル ト ・ チェ ンジ リ ス ト をサブ ミ ッ ト し た と きに リ

ス ト 表示されます。

デ ィ ポに存在し ないデ ィ レ ク ト リ にフ ァ イルを追加する と、チェ ンジ リ ス ト のサブ ミ ッ ト が成

功し た と きにデ ィ ポのデ ィ レ ク ト リ が作成されます。

Type:フ ィ ール ド を publicから restrictedに変更する こ と によ り 、チェ ンジ リ ス ト の可視

性が制限でき ます。 一般に、 チェ ンジ リ ス ト が restricted であ る場合、 チェ ンジ リ ス ト 内

の 1 つ以上のフ ァ イルに対し て list 権限を持つユーザにのみ、 チェ ンジ リ ス ト の説明が可視

と な り ます。

追加時にフ ァ イルのグループを無視する

開発プロセスでは、デ ィ ポにサブ ミ ッ ト すべきでない無関係な コ ンテンツが作成される こ と が

あ り ます。 開発中にコ ンパイ ラによ ってオブジェ ク ト ・ フ ァ イルや実行可能モジュールが生成

され、 テキス ト ・ エデ ィ タやワード ・ プロセ ッ サによ ってバッ ク ア ッ プ ・ フ ァ イルが生成され、

さ らにユーザ自身が習慣と し て作業 メ モを保存する こ と も あ るでし ょ う 。

フ ァ イル (のグループ) をその追加時に無視するには、 無視し たいフ ァ イルの仕様を リ ス ト に

し たフ ァ イルを作成し、 P4IGNORE 環境変数がこ のフ ァ イルを指すよ う に設定し ます。

フ ァ イルを追加する際、 追加対象フ ァ イルの完全な ローカル ・ パスおよびその親デ ィ レ ク ト リ

が、 P4IGNORE フ ァ イル と照合されます。 P4IGNORE フ ァ イルが存在する場合、 その中のルー

ルが リ ス ト に追加され、 追加対象フ ァ イルに も近い P4IGNORE ルールが優先的に適用され

ます。

P4IGNORE フ ァ イルの構文は、PERFORCE の構文 と同じではあ り ません。むし ろ、他のバージ ョ

ン化システムで使用される ものに似ています。 フ ァ イルはローカル ・ シン タ ッ ク スで指定され

ます。 行頭の # 文字はコ メ ン ト を示し、 行頭の ! 文字はそのフ ァ イル指定を除外し、 ワ イル ド

カード * はサブ文字に一致し ます。 PERFORCE ワ イル ド カード の ... は使用でき ません。

例 : 追加時にフ ァ イルのグループを無視する

ブルー ノ は自分のコード をデ ィ ポにサブ ミ ッ ト する前に単体テス ト を行いますが、ワークスペース を照合する際にオブジェ ク ト ・フ ァ イルや生成済みの実行可能モジュールが誤って追加されないよ う にし たい と考えています。

彼はまず、 P4IGNORE が正しいフ ァ イルを示すよ う に設定し ます。

export P4IGNORE=.p4ignore

文字 P4IGNORE フ ァ イルでの意味

* ス ラ ッ シュ以外のすべての文字 と一致し ます。 単一デ ィ レ ク ト リ 内にのみ一致し

ます。 大文字 と小文字の区別はお使いのク ラ イ アン ト ・ プラ ッ ト フ ォームに依存

し ます。

! フ ァ イル指定を対象から除外し ます。

# コ メ ン ト 文字 : こ の行は無視されます。

50 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 53: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

次に、 次のよ う なフ ァ イルを作成し、 自分のワーク スペースのルー ト に .p4ignore と して保存し ます。

次回 (p4 add *.* などの) コマン ド を実行する際に、 そのルールがワーク スペース全 体に適用されます。

P4IGNORE フ ァ イルをオーバーラ イ ド (または無視) するには、 p4 add、 p4 reconcile、

p4 status の各コマン ド に -l オプシ ョ ンを付けます。

フ ァ イルの変更

フ ァ イルを編集目的で作業状態にするには、 p4 edit コマン ド を発行し ます。 フ ァ イルを編

集目的の作業状態にする と、 PERFORCE はユーザのワーク スペースのフ ァ イルに対し書き込み

許可を与え、 そのフ ァ イルをチェ ンジ リ ス ト に追加し ます。 フ ァ イルがデ ィ ポには存在し て も

ユーザのワーク スペースには存在し ない場合、編集目的の作業状態にする前にそのフ ァ イルを

同期させる必要があ り ます。 また、 フ ァ イルを編集する場合、 編集目的の作業状態にし なけれ

ばな り ません。

例 : フ ァ イルを編集目的で作業状態にする

ブルー ノ は command.c に変更を加えたいので、 そのフ ァ イルを同期させ、 フ ァ イルを編 集目的で作業状態にし ます。

そ し て、 ブルー ノ は任意のテキス ト ・ エデ ィ タでフ ァ イルを編集し ます。 編集後、 彼は上記のよ う に p4 submit によ り フ ァ イルをデ ィ ポにサブ ミ ッ ト し ます。

変更の破棄 (元に戻す)

作業状態に し たフ ァ イルをチェ ンジ リ ス ト か ら削除し て、 それまで行った変更を破棄する に

は、 p4 revert コ マン ド を発行し ます。 フ ァ イルを元に戻す と、 PERFORCE サーバは 後に

ワーク スペースに同期されたバージ ョ ンを リ ス ト ア し ます。追加目的で作業状態にし たフ ァ イ

ルを元に戻す場合、 フ ァ イルはチェ ンジ リ ス ト からは削除されますがワーク スペースからは削

除されません。

例 : フ ァ イルを元に戻す

ブルー ノ は結局、 自分のテキ ス ト ・ フ ァ イルを追加し ないこ と にし ま し た。

# 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 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 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

Page 54: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

実際にはフ ァ イルを元に戻さずにキ ャ ンセル操作の結果をプレ ビ ューするには、 p4 revert コマン ド の発行時に -n オプシ ョ ンを指定し ます。

フ ァ イルの削除

フ ァ イルをデ ィ ポから削除するには、 p4 delete コマン ド を発行し て削除対象フ ァ イルを作

業状態にし、 それらが作業状態に されているチェ ンジ リ ス ト をサブ ミ ッ ト し ます。 フ ァ イルを

デ ィ ポか ら削除し て も以前の リ ビジ ョ ンは存在し たま まで、 「削除済み」 と マーク された新し

い 新 リ ビジ ョ ンが追加されます。 し たがってフ ァ イルの古い リ ビジ ョ ンを同期させる こ と は

依然と し て可能です。

p4 delete コマン ド を発行する と、 フ ァ イルはワーク スペースからは削除されますがデ ィ ポ

からは削除されません。 削除目的で作業状態に されたフ ァ イルを復元する と、 それらはワーク

スペースに復元されます。 フ ァ イルが作業状態に されたチェ ンジ リ ス ト のサブ ミ ッ ト が成功す

る と、 フ ァ イルはデ ィ ポから削除されます。

例 : フ ァ イルをデ ィ ポから削除する

ブルー ノ は次のよ う にし て、 vendor.doc をデ ィ ポから削除し ます。

フ ァ イ ルはただちにク ラ イ アン ト ・ ワ ーク ス ペース から 削除さ れま すが、 ブルーノ がp4 submit コマン ド を発行する までデ ィ ポからは削除されません。

チ ェ ンジ リ ス ト の管理

デ ィ ポ内のフ ァ イ ルを変更する には、 それ ら のフ ァ イ ルをチ ェ ン ジ リ ス ト で作業状態に し、

フ ァ イルを変更し てからチェ ンジ リ ス ト をサブ ミ ッ ト し ます。チェ ンジ リ ス ト には、フ ァ イル、

その リ ビジ ョ ン番号、 およびフ ァ イルに対し て行われる操作の リ ス ト が含まれています。 サブ

ミ ッ ト されていないチェ ンジ リ ス ト は、 作業中チェ ンジ リ ス ト と呼ばれます。

チェ ンジ リ ス ト のサブ ミ ッ ト は、すべて行 う か全 く 行わないかの操作にな り ます。つま り 、チェ

ンジ リ ス ト 内のすべてのフ ァ イルがデ ィ ポで更新されるか、 または、 エラーが発生し た場合に

はどのフ ァ イルも一切更新されません。 こ の方法によ り 、 複数のフ ァ イルに影響する コード 変

更が同時に行われる よ う になっています。

PERFORCE は、 チェ ンジリ ス ト に番号を割り 当てる ほか、 デフ ォル ト ・ チェ ンジ リ ス ト を管理し

ま す。 デフォ ルト ・ チェ ンジリ ス ト にはサブミ ッ ト の際に番号が付けら れま す。 複数のチェ ン

ジリ ス ト を作成し て作業を整理する こ と ができ ま す。 例えば、 ある チェ ンジリ ス ト には新機能

を実装する ために変更さ れる ファ イ ルを入れ、 別のチェ ンジリ ス ト にはバグ修正を含める こ と

も でき ま す。 フ ァ イ ルを作業状態にする と 、 コ マンド ラ イ ンで -c オプショ ンを使用し て既存

のチェ ンジリ ス ト 番号を指定し ない限り 、 そのフ ァ イ ルはデフォ ルト ・ チェ ンジリ ス ト に置か

れま す。 例えば、 チェ ンジリ ス ト 番号 4 でファ イ ルを編集し 、 サブミ ッ ト する には、 p4 edit -c 4 filename を使用し ま す。 ファ イ ルをデフォ ルト ・ チェ ンジリ ス ト で作業状態にする に

は、 -c オプシ ョ ンを省略し ます。

また、 チェ ンジ リ ス ト を保留し て、 ユーザ自身での使用または別のユーザによ る レ ビ ューを目

的と し て進行中の作業を一時的に保存し てお く こ と も可能です。 フ ァ イルを保留する こ と によ

り 、 フ ァ イルを正式にデ ィ ポにサブ ミ ッ ト せずに、 共有サービ スに一時的にキ ャ ッ シ ュする こ

と ができ ます。

他のユーザの操作内容によ って、チェ ンジ リ ス ト のサブ ミ ッ ト の際に、PERFORCE サーバがチェ

ンジ リ ス ト の番号を付け替え る場合があ り ます。 チェ ンジ リ ス ト の番号が付け替え られた場

合、 元の番号が別のチェ ンジ リ ス ト に割 り 当て られる こ と はあ り ません。

p4 delete //depot/dev/main/docs/manuals/vendor.doc//depot/dev/main/docs/manuals/vendor.doc#1 - opened for delete

52 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 55: 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 に移動先のチェ ンジ リ ス ト の番号を指定

し て 発行し て く だ さ い。フ ァ イ ルを デフ ォ ルト ・ チェ ン ジ リ ス ト に 移動さ せる 場合は、

p4 reopen -c default filenames を使用し ます。

番号付チ ェ ンジ リ ス ト の作成

番号付チェ ンジ リ ス ト を作成するには、 p4 change コマン ド を発行し ます。 このコマン ド に

よ り チェ ンジ リ ス ト ・ フ ォームが表示されます。 コ メ ン ト を入力し、 必要な変更を行ってから

フ ォームを保存し、 エデ ィ タ を終了し ます。

デフ ォル ト ・チェ ンジ リ ス ト で作業状態になっているすべてのフ ァ イルが新しいチェ ンジ リ ス

ト に移動し ます。 テキス ト ・ エデ ィ タ を終了する と、 チェ ンジ リ ス ト に番号が割 り 当て られま

す。 フ ァ イルを このチェ ンジ リ ス ト から削除する と、 それらのフ ァ イルはデフ ォル ト ・ チェ ン

ジ リ ス ト に戻 り ます。

例 : 複数のチェ ンジ リ ス ト を使って作業する

ブルー ノ は 2 つのバグ修正を行ってお り 、 それぞれの修正を別のチェ ンジ リ ス ト にサブミ ッ ト する必要があ り ます。そ こ で 1 番目の修正に対する フ ァ イルの 新 リ ビジ ョ ンを同期させ、 デフ ォル ト ・ チェ ンジ リ ス ト で編集目的で作業状態にし ます。

こ こ でブルー ノ は p4 change コマン ド を発行し て、チェ ンジ リ ス ト ・ フ ォームにコ メ ン ト を入力し ます。 彼がフ ァ イルを保存し てエデ ィ タ を終了させる と、 PERFORCE はフ ァ イ ルを含む番号付チェ ンジ リ ス ト を作成し ます。

ブルー ノ は 2 番目のバグ修正に対し て も同様に、 p4 sync、 p4 edit、 p4 change を 実行し ます。 このよ う にし て、 各修正に対し て 1 つずつ、 2 つの番号付チェ ンジ リ ス ト が作成されま し た。

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...]

C:\bruno_ws\dev\main\docs\manuals>p4 change

[Enter description and save form]

Change 777 created with 33 open file(s).

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 53

Page 56: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 ユーザーズ ・ ガ イ ド

Page 57: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

フ ァ イルのリ ネームと移動

フ ァ イルの リ ネーム または移動を行 う には、 まずフ ァ イルを追加または編集目的で作業状態に

し てから、 p4 move コマン ド を使用し ます。

フ ァ イルの集合を移動するには、source_file 指定子と target_file 指定子と で一致する

ワ イ ル ド カー ド を 使用 し ま す。 フ ァ イ ル を 移動す る には、 指定 さ れた フ ァ イ ルに対す る

PERFORCE の write 権限が必要です。 (PERFORCE 権限に関し て詳し く は、 『PERFORCE システム 管理者ガイ ド』 をご覧 く だ さい。 )

p4 moveを使用し てフ ァ イルの リ ネーム または移動を行 う と き、バージ ョ ン化サービ スは削除

された先行フ ァ イルに リ ン クする反映記録を作成し て、 フ ァ イルの履歴を保存し ます。 (反映

操作はブラ ンチの作成および変更の伝達に も使用されます。 詳し く は、 76 ページの 「変更の反

映」 をご覧 く だ さい。

進行中の作業を保留する

PERFORCE の保留機能では、チェ ンジ リ ス ト をデ ィ ポにチェ ッ ク イ ンする こ と な く 、自分のフ ァ

イルのコ ピーを他のユーザが使用でき る よ う にする こ と ができ ます。

保留機能は、 変更をチェ ッ ク イ ンする前にタ ス ク を切 り 替えた り ク ロ スプラ ッ ト フ ォーム ・ テ

ス ト を実行し た り する、 個々の開発者に と って有効です。 また、 保留機能によ り 、 チームに変

更を容易に引き継ぐ こ とやコード ・ レ ビ ューを実行する こ と が可能です。

例 : チェ ンジ リ ス ト を保留する

アールは UNIX プラ ッ ト フ ォームにおいて command.c を変更し たので、 自分の加えた変更を他の メ ンバーが確認し、 テス ト し て欲しい と考えています。

作業中チェ ンジ リ ス ト が作成され、保留されたバージ ョ ンの command.c がサービ スに格納されます。 command.c フ ァ イルはアールのワーク スペースに編集可能な状態で残されているので、 アールはフ ァ イルへの作業を続行するか、自分の変更を元に戻し て他の作業を行 う こ と が可能です。

保留されたフ ァ イルは、それら を保留し た と きのチェ ンジ リ ス ト 内で作業状態のま ま残されま

す。 (既存の保留状態のチェ ンジ リ ス ト にフ ァ イルを追加するには、 まずそのフ ァ イルを当該

チェ ンジ リ ス ト で作業状態にし なければな り ません。) ユーザは保留されたフ ァ イルに影響を

与え る こ と な く 、 ワーク スペース内のフ ァ イルへの作業を続行する こ と ができ ます。 保留され

たフ ァ イルは、 他のユーザが所有する ワーク スペース も含め、 他のワーク スペースに同期させ

る こ と ができ ます。 例を示し ます。

例 : コード ・ レ ビ ューのためにチェ ンジ リ ス ト の保留を解除し ます。

p4 move source_file target_file

$ 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#9Change 123 files shelved.

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 55

Page 58: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

アールは、 彼がチェ ンジ リ ス ト 123 で保留し たバージ ョ ンの command.c に対し、 コード ・レ ビ ュー と ク ロ スプ ラ ッ ト フ ォームでの互換性のチェ ッ ク を依頼し ま し た。 ブルー ノ はWindows マシンを使用し ているので、 次のよ う にタ イプし ます。

そ し て Windows 環境でテス ト を行い、 その間アールは他の作業を続行し ます。

フ ァ イルを保留する と、 保留状態のバージ ョ ンは、 ユーザがワーク スペースで実行する コマン

ド (他の作業を行 う ためにフ ァ イルを元に戻す操作も含む) の影響を受けません。

例 : 他のユーザにフ ァ イルを引き継ぐ

アールのバージ ョ ンの command.c は UNIX 上で動作し ますが、 ブルーノ が command.cの ク ロ スプラ ッ ト フ ォーム互換性をチェ ッ ク し た と こ ろ、バグが発見されま し た。 こ こ からはブルーノ が仕事を引き継ぎ、アールは自分のワーク スペース を元に戻し て別の作業を行 う こ と ができ ます。

command.c の保留されたバージ ョ ンは依然と し てアールの作業中チェ ンジ リ ス ト 123 から入手でき る ため、 ブルーノ はそれを新しいチェ ンジ リ ス ト 、 チェ ンジ リ ス ト 124 で作業状態にし ます。

ブルー ノ が作業を完了し た ら、 さ らにレ ビ ューを行 う ためにフ ァ イルを (アールのチェ ンジ リ ス ト 123 ではな く 自分のチェ ンジ リ ス ト 124 で) 再度保留するか、 または保留されたフ ァ イルを破棄し、 p4 submit を使用し て自分のワーク スペース内のバージ ョ ンをサブ ミ ッ ト する こ と ができ ます。

p4 submit コマン ド には -e オプシ ョ ンがあ り 、これを使用する と保留されたフ ァ イルを直接

チェ ンジ リ ス ト からサブ ミ ッ ト でき ます。保留状態のチェ ンジ リ ス ト にあ るすべてのフ ァ イル

は 新で衝突解決されている必要があ り ます。 ス ト リ ーム ・ ターゲ ッ ト に保留されている フ ァ

イルには、 その他の制限が適用される場合があ り ます。 詳し く は、 『コマン ド ・ リ フ ァ レ ン ス』を参照し て く だ さ い。 (これらの制限に対処せずに済むよ う に、 チェ ンジ リ ス ト をサブ ミ ッ ト

する前に、保留状態のフ ァ イルをいつで も新しい作業中チェ ンジ リ ス ト に移動する こ と ができ

ます。)

例 : 変更をサブ ミ ッ ト する前に保留状態のフ ァ イルを破棄する

Windows での ク ロ スプラ ッ ト フ ォーム対応の変更が完了し たため、チェ ンジ リ ス ト 124 をサブ ミ ッ ト する準備ができ ま し た。 ブルーノ は p4 shelve -d を使用し て、 保留された フ ァ イルを破棄し ます。

保留されたチェ ンジ リ ス ト 内のすべてのフ ァ イルが削除されます。これでブルー ノ はチェンジ リ ス ト をサブ ミ ッ ト する こ と ができ ます。

ブルー ノ がチェ ンジ リ ス ト 124 でそのフ ァ イルを保留し て、アールがそのフ ァ イルを保留解除し て元のチェ ンジ リ ス ト 123 に戻し、 チェ ッ ク イ ンを完了させて も よいでし ょ う 。

C:\bruno_ws\dev> p4 unshelve -s 123 //depot/dev/command.c//depot/dev/command.c#9 - unshelved, opened for edit

$ p4 revert //depot/dev/command.c//depot/dev/command.c#9 - was edit, reverted

$ p4 unshelve -s 123 -c 124 //depot/dev/command.c//depot/dev/command.c#9 - unshelved, opened for edit

C:\bruno_ws\dev> p4 shelve -d -c 124

Shelve 124 deleted.

C:\bruno_ws\dev> p4 submit -c 124

Change 124 submitted.

56 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 59: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

チ ェ ンジ リ ス ト に関する情報の表示

チェ ンジ リ ス ト の簡潔な情報を表示するには、 p4 changes コ マン ド を使用し ます。 詳細な

情報を表示するには、 p4 describe コマン ド を使用し ます。 以下の表に有用なレポー ト ・ コ

マン ドおよびオプシ ョ ンをい く つか記述し ます。

よ り 詳し く は、 104 ページの 「チェ ンジ リ ス ト のレポー ト 」 をご覧 く だ さい。

フ ァ イル内容の比較

PERFORCE ではテキ ス ト ・ フ ァ イルの リ ビ ジ ョ ンの差分を取る (比較する) こ と が可能です。

フ ァ イル内容を比較する こ と によ り 、 次のよ う な内容を表示でき ます。

• フ ァ イルを編集目的で作業状態にし た後に行った変更

• 2 つの リ ビジ ョ ン間の差分

• 異な るブラ ンチにあ る フ ァ イル ・ リ ビジ ョ ン間の差分

ワ ー ク ス ペー ス に同期 さ れた フ ァ イ ル を デ ィ ポ ・ リ ビ ジ ョ ン と 比較す る には、 p4 diff filename#rev コマン ド を発行し ます。 リ ビジ ョ ン指定子を省略する と、 ワーク スペース内

のフ ァ イルは、 後に同期させた リ ビジ ョ ン と比較され、 同期させた後に行った変更が表示さ

れます。

デ ィ ポには存在 し ワ ー ク ス ペー ス には存在 し ない 2 つの リ ビ ジ ョ ン を比較す る には、 p4 diff2 コ マン ド を使用し ます。 フ ァ イルの集合を比較するには、 p4 diff2 コ マン ド の発行

時にフ ァ イル名の引数にワ イル ド カード を指定し ます。

p4 diff コマン ド ではワーク ステーシ ョ ン上で比較が行われますが、 p4 diff2 コマン ド は

diff を実行し てその結果をユーザに送る よ う に PERFORCE サービ スに指示し ます。

コマン ド 説明

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 によ り 取

得でき ます。)

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 57

Page 60: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

以下の表に比較コマン ド に共通する用途をい く つか示し ます。

デフ ォル ト では、p4 diff コマン ド によ り PERFORCE 内部の比較アプ リ ケーシ ョ ンが起動され

ます。 異な る比較プロ グ ラ ムを使用するには、 P4DIFF 環境変数を設定し て目的のアプ リ ケー

シ ョ ンのパス と実行フ ァ イル名を指定し ます。外部の比較アプ リ ケーシ ョ ンに引数を指定する

には、 -d オプシ ョ ン を使用し ます。 詳し く は、 『PERFORCE コ マン ド ・ リ フ ァ レ ン ス』 を参照

し て く だ さい。

比較する 比較対象 使用する コマン ド

ワ ー ク ス ペ ー ス ・

フ ァ イル

新 リ ビジ ョ ン 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

ワ ー ク ス ペ ー ス ・

フ ァ イル

作業中チ ェ ン ジ リ ス

ト 123内の保留状態の

フ ァ イル

p4 diff2 file@=123

リ リ ース 1 のすべて

のフ ァ イル

リ リ ース2のすべての

フ ァ イル

p4 diff2 //depot/rel1/... //depot/rel2/...

58 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 61: 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

Page 62: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 4 章 : フ ァ イル と チェ ンジ リ ス ト の管理

60 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 63: 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

Page 64: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 5 章 : 衝突の解決

衝突解決の方法

フ ァ イルの衝突を解決するには、 p4 resolve コ マン ド を発行し てサブ ミ ッ ト を行 う フ ァ イ

ルのコ ンテンツを決定し、 各フ ァ イルに対し て解決方法を選択し ます。 衝突を解決し た ら、 そ

のフ ァ イルを含むチェ ンジ リ ス ト をサブ ミ ッ ト し ます。

PERFORCE は、デフ ォル ト では比較プロ グ ラ ムを使用し て衝突を検出し ます。サー ド ・パーテ ィ

の比較プロ グ ラ ムを設定する こ と も でき ます。 詳し く は、 57 ページの 「フ ァ イル内容の比較」

をご覧 く だ さい。

衝突を解決し て変更をサブ ミ ッ ト するには、 以下の手順を実行し ます。

1. フ ァ イル(例えば、p4 sync //depot/dev/main/jam/...)を同期させます。PERFORCE

は衝突を検出し、 衝突し ている フ ァ イルの解決を スケジ ュールし ます。

2. p4 resolve コマン ド を発行し て、 衝突を解決し ます。 解決オプシ ョ ンについて詳し く

は、 63 ページの 「衝突解決のオプシ ョ ン」 をご覧 く だ さい。

3. 生成されたフ ァ イルを検査し ます (コー ド を コ ンパイルし、 稼働を確認する など し て)。

4. フ ァ イルを含むチェ ンジ リ ス ト をサブ ミ ッ ト し ます。

yours、 theirs、 base、 merge の各フ ァ イル

p4 resolve コマン ド ではマージ処理において次の用語が使用されます。

注 フ ァ イルを編集目的で作業状態にし た後、 それ以降にサブ ミ ッ ト された リ ビ

ジ ョ ンをデ ィ ポから同期させる場合、 ユーザによ る変更がデ ィ ポ ・ フ ァ イル

によ り 上書き されないよ う 、 PERFORCE によ り 衝突解決が要求されます。

注 マージ対象の 3 つのフ ァ イル ・ リ ビジ ョ ンのいずれかがテキス ト ではな く バ

イナ リ であ る場合、 3 ウ ェ イ ・ マージを行 う こ と はで き ません。 代わ り に、

p4 resolve によ り 2 ウ ェ イ ・ マージが実行されます。 フ ァ イルの衝突する

2 つのバージ ョ ンが表示されるので、 どち らかを選択するか、 いずれか 1 つ

を ワーク スペースで編集し てからチェ ンジ リ ス ト をサブ ミ ッ ト し ます。

フ ァ イル ・ リ ビジ ョ ン 説明

yours ク ラ イ アン ト ・ ワーク スペースにあ る、 変更を含むフ ァ イルの リ ビジ ョ

ン。

theirs 他のユーザに よ り 編集 さ れ yours と 衝突 し てい る、 デ ィ ポ内の リ ビ

ジ ョ ン。 (通常は 新 リ ビジ ョ ンであ るが、p4 sync を使って別の リ ビ

ジ ョ ンによ る衝突解決のスケジュールが可能。)

base yours と theirs を編集する元 と なったデ ィ ポ内のフ ァ イル ・ リ ビジ ョ

ン (直近の共通祖先と なる フ ァ イル)。

merge PERFORCE によ り theirs、 yours、 base から生成される フ ァ イル。

result 衝突解決プロセスの 終結果と なる フ ァ イル。

62 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 65: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 5 章 : 衝突の解決

衝突解決のオプシ ョ ン

衝突を解決する方法を指定するには、 p4 resolve コ マン ド を発行し ます。 それに よ り 衝突

解決がスケジ ュールされたフ ァ イルご と に、 ダ イ ア ロ グが表示されます。 ダ イ ア ロ グには、 変

更し たフ ァ イル と衝突する リ ビジ ョ ン と の相違点が記述されます。 例を示し ます。

各フ ァ イルの組の相違点が 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 ページの 「衝

突解決のためのマージ」 をご覧 く だ さい。)

上記のオプシ ョ ンは対話式オプシ ョ ンです。受け入れたいフ ァ イルが分かっている場合は、p4resolve コマン ド ラ イ ンで解決オプシ ョ ンを指定する こ と もでき ます。 詳し く は、 68 ページ

の 「衝突解決のためのコマン ド ラ イ ン ・ オプシ ョ ン」 をご覧 く だ さい。

解決済みであ るがサブ ミ ッ ト されていないフ ァ イルを再度解決するには、p4 resolve コマン

ド の発行時に -f オプシ ョ ンを指定し ます。 フ ァ イルのサブ ミ ッ ト 後は、 再度解決を行 う こ と

はでき ません。

次のセ ク シ ョ ンでは、 解決オプシ ョ ンについて さ らに詳し く 説明し ます。

p4 resolve //depot/dev/main/jam/command.cc:\bruno_ws\dev\main\jam\command.c - merging //depot/dev/main/jam/command.c#9

Diff chunks: 4 yours + 2 theirs + 1 both + 1 conflictingAccept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) e:

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 63

Page 66: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 5 章 : 衝突の解決

yours、 theirs、 または merge の承諾

フ ァ イルを変更せずに受け入れるには、 以下のオプシ ョ ンの 1 つを指定し ます。

yours、 theirs、 edit、 または merge を受け入れる と変更が上書き される ため、 生成され

たマージ ・ フ ァ イルがデ ィ ポにサブ ミ ッ ト し たい内容と正確に一致し ない場合があ り ます。 必

要な変更のみを正し く サブ ミ ッ ト するには、 マージ ・ プロ グ ラ ムを使用するか、 マージ ・ フ ァ

イルを編集し て く だ さい。

merge フ ァ イルの編集

マージ ・ フ ァ イルを編集し てフ ァ イルを解決するには、 e オプシ ョ ンを選択し ます。 PERFORCE

はデフ ォル ト のテキス ト ・ エデ ィ タ を起動し、 マージ ・ フ ァ イルを表示し ます。 マージ ・ フ ァ

イルでは、 差分および衝突が次のフ ォーマ ッ ト で表示されます。

衝突 と 差分のあ る箇所を見つけ るには、 差分マーカ 「>>>>」 を探し、 テキ ス ト の該当部分を

編集し ます。 theirs の変更箇所を調べ、 自分が行った変更 と 矛盾し ない こ と を確認し ます。

保存する前に必ず、 すべての衝突マーカを削除し て く だ さい。 必要な変更を行った後、 フ ァ イ

ルを保存し ます。 p4 resolve プロ ンプ ト において、 ay を選択し ます。

デフ ォル ト では、 yours フ ァ イル と theirs フ ァ イル と の衝突のみがマーク されます。 差分

マーカがすべての差分を生成する よ う にするには、p4 resolve コマン ド の発行時に -v オプ

シ ョ ンを指定し ます。

オプシ ョ ン 説明 意味

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 に加え られた変更は無

視されます。

>>>> ORIGINAL file#n( 元のバージ ョ ンからのテキス ト )

==== THEIR file#m(their フ ァ イルからのテキス ト )

==== YOURS file(your フ ァ イルからのテキス ト )

<<<<

64 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 67: 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

Page 68: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 5 章 : 衝突の解決

例 : フ ァ イルの衝突を解決する

Jam readme フ ァ イルに対し てブルー ノ が行った作業 と アールが行った作業 と の衝突を解 決する ため、 ブルー ノ が p4 resolve //depot/dev/main/jam/README と入力する と、以 下のよ う に表示されま し た。

ブルー ノ は、 彼 と アールがフ ァ イルに対し て衝突する変更を加えた こ と を確認し ま し た。そ こ で彼はマージ ・ フ ァ イルを編集する ために e を入力し て、 差分マーカ 「>>>>」 を探 し ます。 する と以下のテキス ト が表示されます。

ブルー ノ と アールは異な る著作権登録年を記述し て更新し ま し た。 ブルー ノ はマージ ・フ ァ イルを編集し てヘ ッ ダーを正し く 修正し、 エデ ィ タ を終了し て、 am と 入力し ます。 編集されたマージ ・ フ ァ イルが ク ラ イ アン ト ・ ワーク スペースに書き こ まれたので、 彼は次のフ ァ イルの衝突解決に進みます。

衝突解決プロセスにおいてフ ァ イルの 1 バージ ョ ンが受け入れられる と、 ワーク スペース内の

フ ァ イルは上書き されるので、 新しい ク ラ イ アン ト ・ フ ァ イルをデ ィ ポにサブ ミ ッ ト する必要

があ り ます。 フ ァ イルの衝突解決が完了し てからサブ ミ ッ ト する までの間に、 そのフ ァ イルの

新しいバージ ョ ンがサブ ミ ッ ト される と、 新しい衝突が発生する場合があ り ます。 衝突解決を

行 う 前にフ ァ イルを ロ ッ クする こ と によ り 、 こ の問題を回避する こ と ができ ます。 詳し く は、

69 ページの 「フ ァ イルのロ ッ ク」 をご覧 く だ さい。

m マージ コ マン ド P4MERGE base theirs yours merge を実行

し ます。 こ のオプシ ョ ンを実行するには、環境変数 P4MERGE にサー ド ・ パーテ ィ のプロ グ ラ ムの名前を設定し なければな

り ません。 こ のプロ グ ラ ムでは 初の 3 つのフ ァ イルをマー

ジ し、その結果を 4 番目のフ ァ イルに書き込むもの と し ます。

s スキ ッ プ こ のフ ァ イルを ス キ ッ プし、 衝突解決がス ケジ ュールされた

ま まにし ます。

注 マージ ・ フ ァ イルは PERFORCE サービ スによ り 生成されますが、 dy、 dt、 dm、 d の

各オプシ ョ ンで表示される差分は、ワーク ステーシ ョ ンの比較プロ グ ラ ムによ り 生成

されます。衝突解決で d オプシ ョ ンを選択し た と きに他の比較プロ グ ラ ムが実行され

る よ う に設定するには、P4DIFF 環境変数を設定し ます。詳し く は、57 ページの「フ ァ

イル内容の比較」 をご覧 く ださい。

Diff chunks: 0 yours + 0 theirs + 0 both + 1 conflictingAccept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) 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.<<<< \+/

オプシ ョ ン 動作 説明

66 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 69: 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" オプシ ョ ンでは、反映先のフ ァ イルタ イプを未変更のま まにし ま

す。別々のフ ァ イルタ イプが競合し ない場合は、それら を組み合わせる こ と を選択でき ます。

• 競合する方法でフ ァ イルが移動または リ ネーム されている場合: パス と フ ァ イル名を選択す

る よ う 要求されます。 例 ::

デフ ォル ト では、p4 resolve コマン ド はすべての種類の変更、 内容、 および内容以外を解決

し ます。 衝突解決する操作の種類を制限するには、 -A オプシ ョ ンを以下の とお り 指定し ます。

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

オプシ ョ ン 解決される内容

-Ab 反映元が編集され、 反映先が削除される反映

-Ad 反映元が削除され、 反映先が編集される反映

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 67

Page 70: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 5 章 : 衝突の解決

複数の種類の衝突解決を実行するには、 オプシ ョ ンを組み合わせます ( 例 : -Abd)。 デフ ォル

ト では、 衝突解決はフ ァ イルご と に対話形式で実行されます。 特定の操作に対し て同じ結果を

指定し て (例えばすべての移動を伝播する など) 、 入力要求を抑止するには、 目的のオプシ ョ

ンを コマン ド ラ イ ンに含めて く ださい。 例 :p4 resolve -Am -at

衝突解決のためのコ マン ド ラ イ ン ・ オプシ ョ ン

p4 resolve オプシ ョ ンに次のオプシ ョ ン をつけ る と、 衝突解決を対話形式ではな く 直接実

行でき ます。 p4 resolve コマン ド で これら のオプシ ョ ンの 1 つを指定する と、 フ ァ イルは

以下の表に示すよ う に解決されます。

例 : 衝突する フ ァ イルの特定 リ ビジ ョ ンを自動的に受け入れる

ブルー ノ は、 /doc にあ る文書フ ァ イルを編集し てお り 、 そのい く つかが衝突解決を必要 とする こ と を知っています。 ブルー ノ は、 p4 sync doc/*.guide と入力し ます。 デ ィ ポ内のフ ァ イル と衝突する これらのフ ァ イルすべての衝突解決がスケジ ュールされます。

ブルー ノ はさ らに p4 resolve -am と入力し ます。スケジ ュールされた衝突解決に関す るマージ ・ フ ァ イルがすべて生成され、 その う ち行セ ッ ト 衝突を含まないマージ ・ フ ァ イルが彼の ク ラ イ アン ト ・ ワーク スペースに書き込まれます。 ブルー ノ はなお、 他の衝突する フ ァ イルについて手動で解決を行 う 必要があ り ますが、その作業量はかな り 軽減されまし た。

-At フ ァ イルタ イプの変更

-Am リ ネーム と移動

オプシ ョ ン 説明

-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 を受け入れます。

・ それ以外の場合は、 このフ ァ イルはスキ ッ プ されます。

オプシ ョ ン 解決される内容

68 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 71: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 5 章 : 衝突の解決

衝突解決のレポー ト ・ コ マン ド

次に示すレポー ト ・ コマン ド は、 フ ァ イルの衝突解決の際に役立ちます。

フ ァ イルのロ ッ ク

フ ァ イルを作業状態に し た後、 そのフ ァ イルを ロ ッ ク し て、 自分がサブ ミ ッ ト する前に他の

ユーザがサブ ミ ッ ト でき ないよ う にする こ と ができ ます。 フ ァ イルを ロ ッ クする と衝突を防止

する こ と ができ ますが、 フ ァ イルのロ ッ ク中は他のチーム ・ メ ンバーがそのフ ァ イルを操作で

き ない可能性があ り ます。

フ ァ イルをロ ッ ク し て、 多重衝突解決を防止する

フ ァ イル ・ ロ ッ ク を し ない限 り 、 衝突解決プロセスが終了する保証はあ り ません。 次のシナ リ

オは、 こ の問題を具体的に表現し ています。

1. ブルー ノ がフ ァ イルを編集目的で作業状態にする。

2. ゲイルが同じ フ ァ イルを、 自分の ク ラ イ アン ト において編集目的で作業状態にする。

3. ブルー ノ と ゲイルは、 フ ァ イルの各自の ク ラ イ アン ト ・ ワーク スペース ・ バージ ョ ンを編

集する。

4. ブルー ノ は当該フ ァ イルを含むチェ ンジ リ ス ト をサブ ミ ッ ト し、こ のサブ ミ ッ ト が成功す

る。

5. ゲ イルも自分のフ ァ イル ・ バージ ョ ン を含むチェ ンジ リ ス ト をサブ ミ ッ ト する が、 その

フ ァ イルがデ ィ ポの新しいフ ァ イル と衝突する ため、 サブ ミ ッ ト は失敗する。

6. ゲイルが衝突解決を始める。

7. ブルー ノ が同じ フ ァ イルの新しいバージ ョ ンを編集し、 サブ ミ ッ ト する。

8. ゲイルが衝突解決を終え、 サブ ミ ッ ト し よ う とする。 サブ ミ ッ ト は失敗し、 今度はブルー

ノ の 新フ ァ イル と マージ し なければな ら ない。

<等々>

コマン ド 意味

p4 diff [filenames] ワーク スペース内にあ る フ ァ イル ・ リ ビジ ョ ン と 後に同期し た

リ ビジ ョ ン と を比較し、 加え られた変更を表示し ます。

p4 diff2 file1 file2 2 つのデ ィ ポ ・ フ ァ イルを比較し ます。 指定フ ァ イルには任意の

フ ァ イル ・ リ ビジ ョ ンを選択でき、 異な る フ ァ イルの リ ビジ ョ ン

であって も構いません。

デ ィ ポ ・ フ ァ イルを比較する場合、 PERFORCE サービ スは独自の比

較プロ グ ラ ムを使用し ます。 P4DIFF 環境変数で設定された比較

プロ グ ラ ムは使用されません。

p4 sync -n [filenames] 指定された同期の結果をプレ ビ ューし、 衝突し ていて解決が必要

なフ ァ イルを リ ス ト 表示し ます。

p4 resolved 衝突解決 さ れた後に まだサブ ミ ッ ト さ れていないフ ァ イ ルを レ

ポー ト し ます。

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 69

Page 72: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 ユーザーズ ・ ガ イ ド

Page 73: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 6 章 コー ド ラ イ ン、 ブ ラ ンチ、 および

ス ト リーム

こ の章では、 デ ィ ポ内のフ ァ イルの集合を保守する ために必要な タ ス ク について説明し ます。

具体的には、 次のよ う な問題に対応し ます。

• デ ィ ポ ・ デ ィ レ ク ト リ 構造および リ ポジ ト リ の 適な編成方法

• コード ラ イ ンおよびプロ ジェ ク ト ・ デ ィ レ ク ト リ における、 フ ァ イル と フ ァ イル変更の移動

• ラベルまたはチェ ンジ リ ス ト を使用し た、 フ ァ イル ・ セ ッ ト の特定

コード ラ イ ン管理を よ り 簡単に行 う ために、多数のベス ト プラ ク テ ィ ス と自動制御が一体化さ

れた PERFORCE の機能、 ス ト リ ームを使用する こ と ができ ます。 本章には、 PERFORCE コマン ド

ラ イ ン ・ ク ラ イ アン ト を使用し てス ト リ ームを管理する方法を説明する節があ り ます。 基本情

報については、 『PERFORCE 入門』 を参照し て く だ さい。 P4V (PERFORCE ビジ ュ アル ・ ク ラ イ ア

ン ト ) における ス ト リ ームの使用に関し て詳し く は、 オン ラ イ ン ・ ヘルプをご覧 く だ さい。

こ の章ではソ フ ト ウ ェ ア ・ コード ベースの保守に焦点をあてていますが、 記述する タ ス ク の多

く は、 Web サイ ト など他のフ ァ イル集合の管理に も関連し ます。 善の実装方法については、

PERFORCE ウ ェブサイ ト にあ る報告書をご覧 く だ さい。

基本用語

以降のセ ク シ ョ ンを理解しやす く する ため、 PERFORCE での関連用語の定義を次に示し ます。

用語 定義

ブラ ンチ (名詞) 新規追加ではな く コ ピーによ り 作成された、関連する フ ァ イル

のセ ッ ト 。 関連する フ ァ イルの集合は、 多 く の場合コー ド ラ イ ン と

呼ばれます。

(動詞) ブラ ンチを作成する こ と。

反映 フ ァ イルの祖先を保存し て既存のフ ァ イルから新しいフ ァ イルを作成

する こ と (ブラ ンチ作成)、 または 1 つのフ ァ イル ・ セ ッ ト から別の

フ ァ イル ・ セ ッ ト に変更を伝達する こ と (マージ処理)。

マージ 通常 P4Merge などのマージ ・ ツールを使用し て、 2 つの衝突し ている

フ ァ イル ・ リ ビジ ョ ンの内容を単一のフ ァ イルに結合するプロセス。

衝突解決 2 つのフ ァ イル ・ リ ビジ ョ ン間の差分を調整する ために使用するプロ

セス。 衝突解決の方法 と し て、 サブ ミ ッ ト 対象のフ ァ イルを選択する

か、 衝突し ている フ ァ イルの内容をマージするかを選択でき ます。

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 71

Page 74: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 6 章 : コード ラ イ ン、 ブラ ンチ、 およびス ト リ ーム

デ ィ ポの編成

デ ィ ポは、 上位のデ ィ レ ク ト リ と考え られます。 次に示す要素を考慮し てデ ィ ポの編成方法

を決定し て く だ さい。

• 内容のタ イプ : 自分のプロ ジェ ク ト およびそれらの相互関係の性質に基づいて、 デ ィ ポまた

は本流 と な るデ ィ レ ク ト リ を作成し ます (例えば、 別々のス ケジュールで開発された複数の

コ ンポーネン ト を含むアプ リ ケーシ ョ ン)。

• リ リ ース要件 : 1 つのプロ ジェ ク ト 内に、リ リ ース ご と にブラ ンチを作成し、ブラ ンチ間の変

更を反映させて、 機能およびバグ修正の導入を制御し ます。

• ビル ド の管理 : ラベル と チェ ンジ リ ス ト を使用し て、 ビル ド されたフ ァ イル ・ リ ビジ ョ ンを

制御し ます。 ク ラ イ アン ト 仕様およびビ ューを使用し て、 ビル ド範囲が明確にな る よ う にし

ます。

基本的かつ論理的にデ ィ ポを編成する方法は、 プロ ジェ ク ト ご と にサブデ ィ レ ク ト リ (コード

ラ イ ン) を作成する こ と です。 例えば、 自分の会社が Jam プロ ジェ ク ト に関わっている場合、

1 つのコード ラ イ ンを現在開発中の リ リ ース専用にし、 も う 1 つのコード ラ イ ンを既に リ リ ー

ス済の ソ フ ト ウ ェ ア専用にし、 さ らに も う 1 つを会社の Web サイ ト 専用にする こ と が考え ら

れます。 開発者は各自の ク ラ イ アン ト ・ ビ ューを変更し て、 フ ァ イルを自分のプロ ジェ ク ト に

マ ッ ピ ングでき、 関係のない他のプロ ジ ェ ク ト を除外でき ます。 例えば、 アールが Web サイ

ト の保守を担当し ている場合、 彼の ク ラ イ アン ト ・ ビ ューは次のよ う にな り ます。

そ し て、 Jam に携わっているゲイルは自分の ク ラ イ アン ト ・ ビ ューを次のよ う に設定し ます。

プロ ジ ェ ク ト またはコー ド ラ イ ンの用途に従ってデ ィ ポを編成する こ と ができ ます。 例えば、

プロ ジェ ク ト に従ってデ ィ ポを編成するには、 次のよ う な構造を使用でき ます。

一方、各コード ラ イ ンの用途に従ってデ ィ ポを編成するには、次のよ う な構造を使用でき ます。

他には、 各プロ ジェ ク ト に対し て 1 つずつデ ィ ポを作成する方法があ り ます。 ブラ ンチ作成お

よび反映を可能な限 り 単純化でき る構造を選択し、操作の履歴が理解しやすいよ う にし て く だ

さ い。

コー ド ラ イ ンにデータ を読み込む

履歴を含まないコード ラ イ ンを作成し ている場合、 p4 add コマン ド を使用し てフ ァ イルを追

加し た後、 p4 copy を使用し てブラ ンチを作成し ます。 例えば、 前の節で示し た メ イ ン ラ イ

ン構造を作成するには、 以下の手順で操作し ます。

//depot/www/dev/... //earl-web-catalpa/www/development/...//depot/www/review/... //earl-web-catalpa/www/review/...//depot/www/live/... //earl-web-catalpa/www/live/...

//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/

72 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 75: 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

Page 76: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 ソース コード が メ イ ンのコード ラ イ ンからブラ ンチ作成されます。

上記のブラ ンチ ・ マ ッ ピングを使用し てブラ ンチを作成するには、 次のコマン ド を発行し、

p4 integrate -b jamgraph-1.0-dev2release

p4 submit を使用し て変更をサブ ミ ッ ト し ます。

ブ ラ ンチ ・ マ ッ ピ ング を削除する には、 p4 branch -d branchname コ マン ド を発行し ま

す。 ブラ ンチ ・ マ ッ ピングを削除し て も、 既存のフ ァ イルやブラ ンチには影響し ません。

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

74 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 77: 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

Page 78: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 conflictingAccept(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 ユーザーズ ・ ガ イ ド

Page 79: 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 conflictingAccept(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

Page 80: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 オプシ ョ ンを指定し ます。

同様に、 衝突解決 さ れたが (ま だ) サブ ミ ッ ト さ れていない反映先フ ァ イ ルの場合は、 p4resolve コ マン ド に -f オプシ ョ ン を指定する こ と によ り 衝突の再解決ができ ます。 衝突の

再解決を行った場合、 yours のフ ァ イルが新しい ク ラ イ アン ト ・ フ ァ イル、 すなわち、 前の

解決結果と な り ます。

反映に関するレポー ト ・ コ マン ド

次に示すレポー ト ・ コマン ド によ り 、 ブラ ンチおよび統合の操作対象 と なる フ ァ イルの状態に

関し て有用な情報が得られます。 プレ ビ ュー ・ オプシ ョ ン (-n) は、 レポー ト 目的で使用でき

ます。

ス ト リーム

PERFORCE のス ト リ ームは 「属性を持つブラ ンチ」 であ り 、 ブ ラ ンチ戦略を反映し た階層を構

成する コ ンテナです。 ス ト リ ームは、 変動的なブラ ンチの変更をマージ し て親ブラ ンチの 新

状態と の同期を保ち、昇格させるのに十分な程度まで安定し た と きに作業内容を親にコ ピーす

る と い う 、 メ イ ン ラ イ ン ・ ブラ ンチ ・ モデルを実装する う えで理想的です。 ス ト リ ームを利用

する と PERFORCE が関連ワーク スペースのビ ューを生成でき る ため、 ユーザが手動でビ ューを

更新し て変更をブラ ンチ構造に反映させる必要がな く な り ます。

ス ト リ ームで作業するには、 以下の操作を実行し ます。

1. ス ト リ ーム ・ デ ィ ポを作成する

表示情報 使用コマン ド

反映の結果をプレ ビ ュー p4 integrate -n [filepatterns]

衝突解決がスケジュールされたフ ァ イル p4 resolve -n [filepatterns]

衝突解決されたが、 まだサブ ミ ッ ト されていないフ ァ

イル

p4 resolved

ブラ ンチ仕様の リ ス ト p4 branches

指定されたフ ァ イルの反映履歴 p4 integrated filepatterns

指定 さ れた フ ァ イ ルの リ ビ ジ ョ ン履歴 (指定 さ れた

フ ァ イルのブラ ンチ元のフ ァ イルの反映履歴を含む)

p4 filelog -i [filepatterns]

78 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 81: 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

Page 82: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 6 章 : コード ラ イ ン、 ブラ ンチ、 およびス ト リ ーム

播する こ と です。 下図は基本的なス ト リ ーム階層を示し ます。 変更は ( よ り 安定性の低いコー

ド ラ イ ンに ) マージダウ ン され、 ( よ り 安定性の高いコード ラ イ ンに ) コ ピーア ッ プ されます。

ス ト リ ーム ・ タ イプはマージ と コ ピーのデフ ォル ト の動作を定義し ますが、 ス ト リ ーム仕様で

toparent/notoparent オプシ ョ ンおよび fromparent/nofromparentオプシ ョ ンを編集

する こ と によ って、 デフ ォル ト 設定を無効にする こ と ができ ます。

ス ト リーム ・ パス

ス ト リ ーム ・ パスは、 ス ト リ ームを構成する フ ァ イル と パス を制御し、 それらのフ ァ イルの伝

播方法を定義し ます。 メ イ ン ラ イ ンを除き、 各ス ト リ ームは親ス ト リ ームの構造を引き継ぎま

す。 子ス ト リ ームの構造を変更するには、 以下の とお り パス を指定し ます。 :

次の例では、 src パス内のフ ァ イルはサブ ミ ッ ト 不可 (親のス ト リ ームのビ ューから イ ンポー

ト されている)、 lib パス内のフ ァ イルはサブ ミ ッ ト 不可 (デ ィ ポ内の明示的な指定場所から

イ ンポー ト されている)、db パス内のフ ァ イルはス ト リ ーム内での編集と サブ ミ ッ ト が可能で

すが、 親にコ ピーする こ と はでき ません。

タイプ 同期を実行 ?

サブミットを実行 ?

親への / 親からの反映を実行 ?

注意

share Y Y Y ( デフ ォル ト ) 編集され、親と子のス ト リ ーム間

で伝播される フ ァ イルに使用。 共有パスにあ る

すべてのフ ァ イルはブラ ンチされ、 一般に、 共

有パスの制限は も寛容です。

isolate Y Y N バイナ リ のビル ド結果など、 ス ト リ ームの外へ

の伝播は許容されないが、 その中での編集が可

能であ る フ ァ イルに使用。

import Y N N ス ト リ ームに物理的に存在し ていなければな ら

ないが、 変更される こ と のないコ ンポーネン ト

に使用。 例 : サード パーテ ィ 製ラ イブラ リ 。

exclude N N N 子ス ト リ ームに組み込むこ と が決し て許容され

ない、 親ス ト リ ーム内のフ ァ イルに使用。

Paths: share ... import src/... import lib/... //depot/lib3.0/... isolate db/...

80 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 83: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 6 章 : コード ラ イ ン、 ブラ ンチ、 およびス ト リ ーム

これらのパス を使用し て、 ス ト リ ームに関連付け られたワーク スペースのマ ッ ピングが生成さ

れます。 ス ト リ ーム構造が変化する と、 関連する ワーク スペースの ク ラ イ アン ト ・ ビ ューが自

動的に更新され、 事実上手動では変更でき ません。 ス ト リ ームがロ ッ ク されている場合、 ス ト

リ ーム所有者のみ (あ るいは、 ス ト リ ームの Owner: がグループであ る場合はそのグループに

所属し ているユーザのみ) ス ト リ ーム仕様の編集が可能です。

ス ト リ ーム仕様によ り 、 ( 指定されたデ ィ ポの場所にあ る フ ァ イルがワーク スペース内の別の

場所に同期される よ う に ) フ ァ イルの場所をマ ッ ピ ング し直し て、 フ ァ イルタ イプに従って

フ ァ イルを選抜する こ と も可能です。例えば、オブジェ ク ト ・フ ァ イルおよび実行可能モジ ュー

ルがス ト リ ームに含まれない よ う にする には、 以下のエン ト リ を ス ト リ ーム仕様に追加し ま

す。

ス ト リーム ・ デ ィ ポの作成

ス ト リ ームは ( 「ローカル」 デ ィ ポではな く ) 「ス ト リ ーム」 デ ィ ポにあ り ます。 デ ィ ポを作成

するには、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/...)。

次に、 メ イ ン ラ イ ンにフ ァ イルを取 り 込みます。

Ignored: .o .exe

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 81

Page 84: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 ユーザーズ ・ ガ イ ド

Page 85: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 6 章 : コード ラ イ ン、 ブラ ンチ、 およびス ト リ ーム

フ ァ イルが正し く 追加される よ う に設定されている こ と を確認するには、 p4 opened コマン

ド を実行し ます。 ス ト リ ームにデータ を取 り 込むには、 フ ァ イルが作業状態に されているチェ

ンジ リ ス ト をサブ ミ ッ ト し ます。

他のデ ィ ポから ブ ラ ンチする

他のス ト リ ーム ・ デ ィ ポ、 従来のデ ィ ポ、 または リ モー ト ・ デ ィ ポから フ ァ イルをブラ ンチす

る こ と が可能です。 ブラ ンチ操作によ って メ イ ン ラ イ ンにデータ を取 り 込む と、 PERFORCE は

反映元フ ァ イル と 反映先フ ァ イルの リ ビジ ョ ン履歴の関係を維持し ます。 ワーク スペースに

は、 反映先ス ト リ ームに関連付け ら れた も の を設定 し なければな り ません ( 例 : p4 set P4CLIENT=bruno_projectX_main)。

ブラ ンチ操作によ って メ イ ン ラ イ ンにデータ を取 り 込むには、 反映元 と反映先を指定し て p4copy コマン ド を実行し ます。 例 :

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 を使用し て、 コ マン ド の結果をプレ

ビ ューし ます。

子ス ト リームにデータ を取り込む

メ イ ン ラ イ ンにデータ を取 り 込んだ後、 開発ス ト リ ーム と リ リ ース ・ ス ト リ ームにフ ァ イルを

ブラ ンチする こ と ができ ます。開発ス ト リ ームを使用すれば メ イ ン ラ イ ンの安定性を損な う こ

と な く 試験を行 う こ と ができ、 リ リ ース ・ ス ト リ ームを使用すれば、 メ イ ン ラ イ ンで新機能に

取 り 組んでいる間に既存の機能を完成させる こ と が可能です。 例えば、 親 メ イ ン ラ イ ンの ク

ローンであ る開発ス ト リ ームを作成するには、 以下のコマン ド を実行し ます。

タ イプが development に設定されたス ト リ ーム仕様が表示されます。この仕様を保存し て く

だ さい。フ ァ イルを メ イ ン ラ イ ンから ス ト リ ームに取 り 込むには、次のコマン ド を実行し ます。

または、 単に p4 populate を次のよ う に使用し ます。

p4 stream -t development -P //projectX/main //projectX/dev

p4 client -s -S //projectX/dev bruno_projectX_devp4 merge -S //projectX/dev -rp4 submit -d "Branching from mainline"

p4 populate -d "From main" -S //projectX/dev -P //projectX/main -r //projectX/dev

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 83

Page 86: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 6 章 : コード ラ イ ン、 ブラ ンチ、 およびス ト リ ーム

変更を伝播する

ス ト リ ームの使用によ り 、 安定し た コード を処理中の作業から隔離し て、 妨害を受けずに様々

なプロ ジェ ク ト に同時に取 り 組むこ と が可能にな り ます。 安定性のよ り 低いス ト リ ームを、 安

定性のよ り 高いス ト リ ームから ( マージによ り ) 定期的に更新し た後、変更を ( コ ピーによ り )

安定性の高いス ト リ ームに昇格させる こ と が 善の方法です。マージ と コ ピーは効率化された

反映形式です。 一般には、 以下の とお り 変更を伝播し ます。

• コ ピー と ブラ ンチを行 う には、 p4 copy を使用し ます。

• マージを行 う には、 p4 merge を使用し ます。

• p4 merge または p4 copy によ って対処でき なかったその他の場合には、p4 integrate を使用し ます。

上述し たガイ ド ラ イ ンは、 ス ト リ ーム と従来のデ ィ ポの両方に適用されます。

安定性の高いス ト リームから変更をマージする

安定性のよ り 高いス ト リ ームからの変更によ ってス ト リ ームを更新するには、 p4 merge -S source-stream コマン ド を実行し、 必要に応じ て衝突解決を行った後、 得られたチェ ンジ リ

ス ト をサブ ミ ッ ト し ます。 デフ ォル ト では、 意図し た反映先か ら入って来る あ ら ゆ る変更を

マージする まで、 安定性の高いス ト リ ームに変更を コ ピーする こ と はでき ません。 これによ っ

て、 安定性の高いス ト リ ームの内容を誤って上書き し て し ま う こ と が避け られます。

開発ス ト リ ームで作業を始めた後に、変更が メ イ ン ラ イ ンにチェ ッ ク イ ン された と仮定する と

(また、 ワーク スペースが開発ス ト リ ームに設定されている と仮定)、 以下のコマン ド を実行す

る こ と によ り 、 開発ス ト リ ームに変更を組み込むこ と ができ ます。

安定性の高いス ト リームに変更を コ ピーする

マージ実行後、 ス ト リ ームにはよ り 安定し た親または子の 新状態が反映されています。 開発

ス ト リ ームに加えたい変更を完成させた と仮定する と、反映先ス ト リ ームでの作業を上書き し

て し ま う 危険を伴わずに新しい内容に昇格でき ます。 「コ ピー」 操作では反映元の複製が単に

反映先に伝播され、 衝突解決は必要と し ません。 例えば、 ( ワーク スペースが親の メ イ ン ラ イ

ン ・ ス ト リ ームに設定されている と仮定し て ) 開発ス ト リ ームから親の メ イ ン ラ イ ンに変更を

昇格させるには、 以下のコマン ド を実行し ます。

変更を別のス ト リーム階層に伝播する

同格の開発ス ト リ ームから作成中の機能やバグ修正を取得し たい場合など、生来の親子関係を

持たない 2 つのス ト リ ーム間で特定の変更を伝播する必要があ るかも しれません。そのよ う な

ス ト リ ームか ら のマージ ま たはその よ う な ス ト リ ームへの コ ピーを行 う には、 仕様を編集し

て、 Parent フ ィ ール ド を目的の反映元または反映先に設定する こ と によ り 、 ス ト リ ームの親を

変更する こ と ができ ます。 これは 適な方法 と はみな されませんが、 必要な場合があ るかも し

れません。

スパース (希薄 ) なブラ ンチ と し てのタ スク ・ ス ト リームの使用

タ ス ク ・ ス ト リ ームは開発ス ト リ ーム と同様に動作するブラ ンチですが、 親ス ト リ ームへ と逆

方向にブラ ンチされる までは " 半プラ イベー ト な " 状態に保たれます。 このス ト リ ームは軽量

なブラ ンチ と し て設計されてお り 、ブラ ンチ内で予期される作業がブラ ンチ内のフ ァ イル数と

比較し て少数のフ ァ イルにのみ影響する場合に も有効です。

p4 merge -S //projectX/dev -rp4 resolvep4 submit -d "Merged latest changes"

p4 copy -S //projectX/devp4 submit -d "Check my new feature in"

84 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 87: 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

Page 88: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 6 章 : コード ラ イ ン、 ブラ ンチ、 およびス ト リ ーム

p4 client -s -S //streamdepot/streamname

仮想ス ト リームによ り ワーク スペースの範囲を狭 く する

大規模なプロ ジェ ク ト では、 ス ト リ ームを整然と編成し て も ワーク スペース ・ ビ ューを十分に

制限でき ないこ と があ り ます。 大規模な組織では、 プロ ジェ ク ト のフ ァ イルのほんの一部にし

か関心のないグループが多数存在する場合も よ く あ り ます。 旧バージ ョ ンの PERFORCE では、

必要な部分のみを含める よ う にユーザが手動で ク ラ イ アン ト ・ ワーク スペース ・ ビ ューを制限

し ていま し た。 ス ト リ ームを利用する別の方法と し て、 virtual ス ト リ ームを フ ィ ルタ と し

て使用する こ と ができ ます。

例えば、 進行中の開発作業が //Ace/dev ス ト リ ームで行われている と し ます。

(プロ ジ ェ ク ト に関連するすべての資産ではな く ) 製品の ド キ ュ メ ン ト に関する作業にのみ従

事し ているユーザであれば、 以下のよ う に //Ace/dev/docs/... の下にあ る フ ァ イルだけ

を含む仮想ス ト リ ームを作成でき ます。

そ し て自分の ク ラ イ アン ト ・ ワーク スペース を devdocs 仮想ス ト リ ームに切 り 替え る ために

次のコマン ド を実行し ます。

p4 client -s -S //Ace/devdocs

devdocs ワーク スペース を使用する と、 ユーザの ク ラ イ アン ト ・ ワーク スペース ・ ビ ューは

//Ace/dev/docs/... にあ る要素のみを含むよ う に自動的に更新さ れます。 そのユーザが

//Ace/devdocs に加えた変更は自動的に元の //Ace/dev コー ド ラ イ ンに伝播 さ れ、 p4copy または p4 integrate を手動で実行する必要はあ り ません。

Stream: //Ace/devParent: //Ace/mainType: developmentPaths: share ...

Stream: //Ace/devdocsParent: //Ace/devType: virtualPaths: share docs/...

86 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 89: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 7 章 ラベル

PERFORCE のラベル と は、 タ グ付け された一連のフ ァ イル ・ リ ビジ ョ ンを意味し ます。 例えば、

特定の リ リ ース を構成する フ ァ イル・ リ ビジ ョ ンにラベル release2.0.1 を タ グ付け し ます。

一般的には、 次の場合にラベルを使用でき ます。

• ソ フ ト ウ ェ アの特定の リ リ ースに含まれている全フ ァ イル ・ リ ビジ ョ ンを追跡する と き

• 特定のフ ァ イル ・ リ ビジ ョ ンの集合 (標準の構成フ ァ イル) を他のユーザに渡し たい と き

• 新規のビル ド用ワーク スペース を設定する と き

• 開発のためにブラ ンチする フ ァ イル ・ リ ビジ ョ ンの集合を指定する と き

• 複数の リ ビジ ョ ンを 1 つのグループ と し て ク ラ イ アン ト ・ワーク スペース と同期させる と き

ラベル と チェ ンジ リ ス ト 番号は両方と も、特定のフ ァ イル・ リ ビジ ョ ンの集合を参照し ますが、

以下に示す相違点があ り ます。

• ラベルによ り 任意のフ ァ イル ・ リ ビジ ョ ンの集合を参照でき ます。 チェ ンジ リ ス ト 番号は、

チェ ンジ リ ス ト がサブ ミ ッ ト された時点にデ ィ ポ内にあ るすべてのフ ァ イルの内容を参照

し ます。 あ る異な る時点でのフ ァ イル ・ リ ビジ ョ ンのグループを参照する必要があ る場合

は、 ラベルを使用し ます。 あ る一定の時点で、 フ ァ イルがその用途で一致し ている場合は、

チェ ンジ リ ス ト 番号を使用し ます。

• ラベルの内容を変更する こ と ができ ます。サブ ミ ッ ト 済チェ ンジ リ ス ト の内容を変更する こ

と はでき ません。

• ラベルには独自に名前を付ける こ と ができ ます。 チェ ンジ リ ス ト 番号は PERFORCE によ って

割 り 当て られます。

チェ ンジ リ ス ト は伝統的にラベルを使用する多 く のアプ リ ケーシ ョ ンに適し ています。 ラベル

と異な り 、 チェ ンジ リ ス ト は特定の時点における フ ァ イル ・ セ ッ ト の状態を表し ます。 ラベル

が必要であ る と見なす前に、単にチェ ンジ リ ス ト 番号を参照する こ と で要件が満たせないかど

う か考えてみて く だ さい。

ラベルでフ ァ イルにタグ付けする

フ ァ イル・ リ ビジ ョ ンの集合に (既にタ グ付け された リ ビジ ョ ンに加えて) タ グを付けるには、

p4 tag を使用し て、 ラベル名および対象とする フ ァ イル ・ リ ビジ ョ ンを指定し ます。

例えば、 //depot/release/jam/2.1/src/ の下に あ る フ ァ イ ルの 新 リ ビ ジ ョ ン に jam- 2.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

Page 90: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 ユーザーズ ・ ガ イ ド

Page 91: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 7 章 : ラベル

結果と し て、 次のよ う に出力されます。

ラベルを削除する

ラベルを削除するには、 次のコマン ド を使用し ます。

p4 label -d labelname

ラベルを削除し て も、 タ グ付きのフ ァ イル ・ リ ビジ ョ ンには影響し ません (ただし、 当然なが

ら当該 リ ビジ ョ ンのタ グはな く な り ます)。

今後のためにラベルを作成する

どのフ ァ イル・ リ ビジ ョ ンに も タ グを付けずにラベルを作成するには、p4 label labelname コマン ド を発行し ます。 こ のコマン ド は、 ラベルの説明の記述や指定に使われる フ ォームを表

示し ます。 ラベルを作成し た ら、 p4 tag または p4 labelsync を使ってそのラベルを フ ァ

イル ・ リ ビジ ョ ンに適用でき ます。

ラベル名は、 ク ラ イ アン ト ・ ワーク スペース、 ブラ ンチ、 またはデ ィ ポの名前と異なっていな

ければな り ません。

例えば、 jam-2.1.0 を作成するには、 次のコマン ド を発行し ます :

p4 label jam-2.1.0

次のフ ォームが表示されます。

ラベルの説明を入力し、 フ ォームを保存し ます ([View:] フ ィ ール ド を変更する必要はあ り ま

せん)。

ラベルを作成し た後は、 p4 tag および p4 labelsync コマン ド を使ってそのラベルを フ ァ

イル ・ リ ビジ ョ ンに適用でき ます。

タグ付け可能なフ ァ イルを制限する

p4 label フ ォーム内の [View:] フ ィ ール ド は、 ラベルでタ グ付けができ る フ ァ イルを制限

し ます。 デフ ォル ト ・ ラベル ・ ビ ューにはデ ィ ポ全体 (//depot/...) が含まれます。 デ ィ ポ

内のすべてのフ ァ イルに対し て不用意にタ グ付けを し ないよ う にするには、 ラベルの [View:]

フ ィ ール ド でデ ィ ポ ・ シン タ ッ ク ス を使用し て、 タ グ付け可能なフ ァ イル とデ ィ レ ク ト リ を設

定し ます。

例 : ラベル ・ ビ ューを使用し て タ グ付け可能なフ ァ イルを制御する

//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< など >

Label: jam-2.1.0Update: 2011/03/07 13:07:39Access: 2011/03/07 13:13:35Owner: earlDescription: Created by earl.Options: unlocked noautoreloadView: //depot/...

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 89

Page 92: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 7 章 : ラベル

アールは、 リ リ ース 2.1 ブラ ンチ内の ソース コー ド の リ ビジ ョ ンにタ グ付け し たい と考え ています。彼はそれらの リ ビジ ョ ンが正常にコ ンパイルでき る こ と を知っています。彼はp4 label jam-2.1.0 と入力し、 ラベルの適用範囲を制限する ため、 以下のよ う にラ ベルの [View:] フ ィ ール ド を指定し ます。

こ のラベルは、 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:] フ ィ ール ド を使用

Label: jam-2.1.0Update: 2011/03/07 13:07:39Access: 2011/03/07 13:13:35Owner: earlDescription: Created by earl.Options: unlocked noautoreloadView: //depot/release/jam/2.1/src/...

90 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 93: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 7 章 : ラベル

し、 自動的にチェ ンジ リ ス ト 1234 のすべてのフ ァ イルに nightly20111201 ラベルが タ グ付け される よ う にし ます。

こ の方法の利点は、 ス ク リ プ ト 作成に非常に適し てお り 、 ラベル ・ テーブルの領域をほ とんど占有せず、 毎晩のビル ド を簡単に参照する方法を提供し ている こ と です。 それに より 、どのチェ ンジ リ ス ト 番号がどの晩のビル ド処理に関連付け られているかを覚えてお く必要はあ り ません。

例 : あ る 1 つのチェ ンジ リ ス ト でサブ ミ ッ ト された一連のフ ァ イルを限定的に参照する

あ るバグがチェ ンジ リ ス ト 1238 によ り 修正されてお り 、 その修正に関連する フ ァ イルの みを参照するパ ッ チ ・ ラベルが必要です。 アールは p4 label patch20111201 と 入 力し て ラベルの [Revision:] フ ィ ール ド を使用し、 自動的にチェ ンジ リ ス ト 1238 で サブ ミ ッ ト されたフ ァ イルにのみ patch20111201 ラベルがタ グ付け される よ う にし ます。

こ の自動ラベルは、 チェ ンジ リ ス ト 1238 でサブ ミ ッ ト されたフ ァ イルのみを参照し てい ます。

例 : 複数のチェ ンジ リ ス ト にあ る各フ ァ イルについて 初の リ ビジ ョ ンを参照する

チェ ンジ リ ス ト 指定子以外に リ ビジ ョ ン指定子を使用する こ と ができ ます。 こ の例では、アールはブ ラ ンチ内の各フ ァ イルについて 初の リ ビジ ョ ン (#1) を参照し ています。 ブ ラ ンチの実装方法によ って、これらのフ ァ イルは長い期間を経て複数のチェ ンジ リ ス ト から作成された可能性があ り ます。

PERFORCE のフ ォームでは、 # はコ メ ン ト を表すために使われる ため、 アールは # を二重 引用符で囲み、 こ の文字が リ ビジ ョ ン指示子と し て解析される よ う にし ています。

Label: nightly20111201Owner: earlDescription: Nightly build process.Options: unlocked noautoreloadView: //depot/...Revision: @1234

Label: patch20111201Owner: earlDescription: Patch to 2011/12/01 nightly build.Options: unlocked noautoreloadView: //depot/...Revision: @1238,1238

Label: first2.2Owner: earlDescription: The first revision in the 2.2 branchOptions: unlocked noautoreloadView: //depot/release/jam/2.2/src/...Revision: "#1"

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 91

Page 94: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 7 章 : ラベル

フ ァ イルへの誤った タグ付けおよび取り外し を防ぐ

ク ラ イ アン ト ・ ワーク スペースおよびラベル ・ ビ ュー (設定し ている場合) にあ る フ ァ イルに

タ グ 付け し、 それ以外の フ ァ イ ルか ら は タ グ を 取 り 外すには、 引数 を 指定せずに p4 labelsync コマン ド を発行し ます。フ ァ イルへの誤った タ グ付けおよび取 り 外し を防ぐには、

p4 label labelname コマン ド を発行し、 ラベル ・ フ ォームの [Options:] フ ィ ール ド の値

を locked に設定する こ と によ って、 ラベルを ロ ッ ク し ます。他のユーザがラベルのロ ッ ク を

解除でき ないよ う にするには、 [Owner:] フ ィ ール ド を設定し ます。 PERFORCE の権限について

詳し く は、 『PERFORCE システム管理者ガイ ド 』 を参照し て く だ さい。

92 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 95: 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: job000006Status: openUser: galeDate: 2011/11/14 17:12:21Description: MAXLINE can't account for expanded cmd buffer size.

フ ィ ールド名 説明 デフ ォル ト

Job ジ ョ ブの名前(空白は不可)。デフ ォル ト では、PERFORCE

は 番 号 を 付 け る 方 式 で ジ ョ ブ 名 を 割 り 当 て ま す

(jobnnnnnn) 。

新のジ ョ ブ番号 + 1

Status ・ open: 修正が済んでいないジ ョ ブ。

・ closed: 完了し たジ ョ ブ。

・ suspended: 現在作業が保留されている ジ ョ ブ。

open

User ジ ョ ブが割 り 当て られてい る ユーザ。 通常、 こ の問題

の解決にあたる担当者のユーザ名。

ジ ョ ブ 作 成 者 の

PERFORCE でのユーザ名

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 93

Page 96: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 8 章 : 欠陥追跡

既存のジ ョ ブを編集するには、 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'

Date ジ ョ ブを 後に変更し た日付。 ジ ョ ブ の 保 存 時 に

PERFORCE に よ り 更新 さ

れる。

Description 要求さ れてい る作業の説明。 例えば、 バグの説明やシ

ステム改善要求。

な し。説明の記述は必須。

フ ィ ールド名 説明 デフ ォル ト

94 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 97: 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 フ ィ ール ド 名 と 同一の行に入

力された、 1 行のテキス ト

text と同じ

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 95

Page 98: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 8 章 : 欠陥追跡

フ ィ ール ド ・ タ イプが分から ない場合、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:] フ ィ ール ド の値に組み込みたいジ ョ ブを特定する有効な式を設定し ます。

select 1 組の値セ ッ ト の う ち 1 つ。

例えば、 ジ ョ ブの状態は

open/suspended/closedのどれかにな り ます。

等価演算子 (=) には、 フ ィ ール ド の値が特定の単

語で あ る ジ ョ ブが適合 し ま す。 関係演算子は、

ASCII の順番に沿って比較を実行し ます。

date 日付お よ び任意指定の時刻。

例えば、

2011/07/15:13:21:40

日付は時系列で適合し ます。 特定の時刻を指定し

ない場合、 演算子 =、 <=、 お よ び >= に よ っ て、

その日の時刻すべてが適合し ます。

bulk text と類似し ていますが、検

索用イ ンデ ッ ク スは付け ら れ

ていません。

これらのフ ィ ール ド はp4 jobs -eを使用し て検

索でき ません。

フ ィ ールド ・

タ イプ

説明 注意

96 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 99: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 8 章 : 欠陥追跡

例 : 自動的にジ ョ ブをチェ ンジ リ ス ト に リ ン クする

ブルー ノ は、自分が作成し たすべてのチェ ンジ リ ス ト 内で自分が所有し ている作業状態のジ ョ ブをすべて参照し たい と考え、 p4 user と入力し、 [JobView:] フ ィ ール ド に次の よ う に追加し ます。

こ れでブルー ノ が所有し てい る作業状態のジ ョ ブがすべて、 自動的に彼のデフ ォル ト ・チェ ンジ リ ス ト に組み込まれます。 チェ ンジ リ ス ト をサブ ミ ッ ト する と き、 ブルーノ は彼がサブ ミ ッ ト するチェ ンジ リ ス ト で修正さ れていないジ ョ ブを確実に削除し なければなり ません。

手動で リ ン クする

ジ ョ ブを手動でチェ ンジ リ ス ト に リ ン クするには、 p4 fix -c changenum jobname コマ

ン ド を発行し ます。そのチェ ンジ リ ス ト が既にサブ ミ ッ ト されていれば、ジ ョ ブの [Status:]フ ィ ール ド の値は closed に変化し ます。それ以外の場合は、 ジ ョ ブのステータ スは変わ り ま

せん。

例 : 手動でジ ョ ブをチェ ンジ リ ス ト に リ ン クする

p4 fix を使用し て、チェ ンジ リ ス ト を他のユーザが所有する ジ ョ ブに リ ン クする こ と が でき ます。

サ ラは options-bug と い う ジ ョ ブをブルー ノ に割 り 当てた と こ ろですが、 そのバグは すでに、 ブルー ノ が以前にサブ ミ ッ ト し たチェ ンジ リ ス ト 18 で修正されていま し た。 ブ ルーノ は次のよ う に入力し て、 ジ ョ ブをそのチェ ンジ リ ス ト に リ ン ク し ます。

チェ ンジ リ ス ト 18 は既にサブ ミ ッ ト されているので、 ジ ョ ブの状態は closed. に変わ り ます。

ジ ョ ブをチ ェ ンジ リ ス ト に リ ン クする

チェ ンジ リ ス ト をサブ ミ ッ ト または編集する際にジ ョ ブをチェ ンジ リ ス ト に リ ン クするには、

チェ ンジ リ ス ト 仕様の [Jobs:] フ ィ ール ド にジ ョ ブ名を入力し ます。 チェ ンジ リ ス ト をサブ

ミ ッ ト する と、 ジ ョ ブは (デフ ォル ト では) ク ローズ されます。

作業中チ ェ ン ジ リ ス ト へのジ ョ ブの リ ン ク を解除す る には、 チ ェ ン ジ リ ス ト を編集 し て、

[Jobs:] フ ィ ール ド から ジ ョ ブの名前を削除し ます。 サブ ミ ッ ト 済チェ ンジ リ ス ト へのジ ョ

ブの リ ン ク を解除するには、 fix -d -c changenum jobname コマン ド を発行し ます。

User: brunoUpdate: 2011/06/02 13:11:57Access: 2011/06/03 20:11:07JobView: user=bruno&status=open

p4 fix -c 18 options-bug

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 97

Page 100: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 8 章 : 欠陥追跡

98 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 101: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 9 章 スク リ プ ト と レポー ト に使用する

コマン ド

本章では p4 コマン ド のス ク リ プ ト 内での使用法、 およびレポー ト 目的での使用法について詳

し く 説明し ます。特定のコマン ド に関する詳細な説明は、『PERFORCE コマン ド ・ リ フ ァ レ ン ス』 をご覧にな るか、 p4 help コマン ド を発行し て く だ さい。

スク リ プ ト と レポー ト の共通オプシ ョ ン

以下のコマン ド ラ イ ン ・ オプシ ョ ンによ り 、 コマン ド ラ イ ン上およびス ク リ プ ト 内で設定を指

定する こ と ができ ます。 詳細な情報は、 『PERFORCE コマン ド ・ リ フ ァ レ ン ス』 のグ ローバル ・

オプシ ョ ンに関する説明を参照し て く だ さい。

PERFORCE フ ォームによるスク リ プ ト 記述

ス ク リ プ ト が p4 client や p4 submit などの よ う にユーザにフ ォームへの入力を要求す

る コマン ド を発行する場合、 -o オプシ ョ ンを使用し て標準出力にフ ォームを書き込み、 -i オ

プシ ョ ンを使用し て標準入力から編集後のフ ォームを読み込みます。

オプシ ョ ン 説明

-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 2013.1 P4 ユーザーズ ・ ガイ ド 99

Page 102: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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 submit -d "A changelist

description" を使用。 )

• p4 stream

• p4 user

フ ァ イルのレポー ト

次のセ ク シ ョ ンでは、 フ ァ イルの状態 と 場所に関する情報を提供する コ マン ド を説明し ます。

次の表に、 基本的で非常に有用なレポー ト ・ コマン ド を示し ます。

フ ァ イルの状態を表示する

フ ァ イルの 1 つの リ ビジ ョ ンの情報を表示するには、p4 files コマン ド を発行し ます。 こ の

コマン ド はデ ィ ポ内でのフ ァ イルの場所、指定 リ ビジ ョ ンでそれらのフ ァ イルに行われた動作

(add、edit、 delete など)、指定フ ァ イル ・ リ ビジ ョ ンがサブ ミ ッ ト されたチェ ンジ リ ス ト 、

およびフ ァ イルのタ イプを表示し ます。 p4 files コマン ド の出力例を示し ます。

//depot/README#5 - edit change 6 (text)

表示させたい内容 使用する コマン ド

フ ァ イルの状態。 フ ァ イルタ イ プ、 新 リ ビジ ョ ン番号、 その他の情

報など。

p4 files

フ ァ イル ・ リ ビジ ョ ンを、 新のものから も古いものまで表示 p4 filelog

現在作業状態のフ ァ イル p4 opened

p4 sync の結果をプレ ビ ュー p4 sync -n

p4 sync のプレ ビ ューを要約し、 ネ ッ ト ワーク ・ ト ラ フ ィ ッ ク を予測 4 sync -N

現在同期されている フ ァ イル p4 have

指定されたフ ァ イルの内容 p4 print

フ ァ イルのデ ィ ポでの場所 と 対応する ワーク スペースの場所 と のマ ッ

ピング

p4 where

フ ァ イルの一覧およびフ ァ イルに関する詳細情報 p4 fstat

100 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 103: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 9 章 : ス ク リ プ ト と レポー ト に使用する コマン ド

p4 files コマン ド には 1 つ以上の filespec 引数が必要です。filespec 引数の指定にロー

カル ・ シン タ ッ ク ス、 ク ラ イ アン ト ・ シン タ ッ ク ス、 デ ィ ポ ・ シン タ ッ ク スの う ちどれを使用

するかに関係な く 、 p4 file コマン ド はデ ィ ポ ・ シン タ ッ ク ス を使用し て結果を表示し ます。

リ ビジ ョ ン番号を指定し ない場合、 新 リ ビジ ョ ンの情報を表示し ます。p4 files の出力に

は削除された リ ビジ ョ ン も含まれます。

次の表に、 p4 files コマン ド の一般的な使用方法をい く つか示し ます。

フ ァ イルのリ ビジ ョ ン履歴の表示

フ ァ イルの リ ビジ ョ ン履歴を表示するには、p4 filelog filespec コマン ド を発行し ます。

以下の例に、 p4 filelog によ り どのよ う に リ ビジ ョ ン履歴が表示されるかを示し ます。

各チェ ンジ リ ス ト の説明をすべて表示するには、 -l オプシ ョ ンを指定し ます。

作業状態のフ ァ イルを一覧表示する

現在ク ラ イ アン ト ・ ワーク スペース内で作業状態 と なっている フ ァ イルを一覧表示するには、

p4 opened filespec コマン ド を発行し ます。 次に示す行は、 p4 opened コマン ド によ る

出力表示の例です。

//depot/dev/main/jam/fileos2.c- edit default change (text)

表示させたい状態 使用する コマン ド

ク ラ イ アン ト ・ ワーク スペース ・ビ ューに関係な く 、デ ィ

ポ内のすべてのフ ァ イル。

非常に多 く のフ ァ イルを含むデ ィ ポの場合、 必要がない

限 り デ ィ ポ全体 (//depot/...) を参照する コ マン ド

を発行 し ない よ う に し てパフ ォーマン ス を 良にする

こ と ができ ます。 パフ ォーマン ス を 良にするため、 目

的のデ ィ レ ク ト リ およびフ ァ イ ルのみを指定する よ う

にし て く ださい。

p4 files //depot/...

指定された ク ラ イ アン ト ・ ワーク スペースに現在同期さ

せている フ ァ イル

p4 files @workspacename

自分のク ラ イ アン ト ・ ワーク スペース ・ ビ ューにマ ッ ピ

ング されている フ ァ イル

p4 files //workspacename/...

現在作業中のデ ィ レ ク ト リ にあ る特定のフ ァ イル p4 files filespec

特定のフ ァ イル ・ リ ビジ ョ ン p4 files filespec#rev

フ ァ イ ルがそのチ ェ ン ジ リ ス ト でサブ ミ ッ ト さ れたか

ど う かに関わらず、 チェ ンジ リ ス ト がサブ ミ ッ ト された

時点の特定のフ ァ イル

p4 files filespec@changenum

特定のラベルでタ グが付け られている フ ァ イル p4 files filespec@labelname

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'

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 101

Page 104: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 9 章 : ス ク リ プ ト と レポー ト に使用する コマン ド

次の表に、 p4 opened コマン ド の一般的な使用方法をい く つか示し ます。

フ ァ イルの場所を表示する

フ ァ イルの場所に関する情報を表示するには、p4 where、 p4 have、および p4 sync -n の

各コマン ド を使用し ます。

• デ ィ ポ ・ シン タ ッ ク ス、 ク ラ イ アン ト ・ シン タ ッ ク ス、 ローカル ・ シン タ ッ ク スでフ ァ イル

の場所を表示するには、 p4 where コマン ド を発行し ます。

• 自分の ク ラ イ アン ト ・ ワーク スペースに 後に同期させたフ ァ イルの場所および リ ビジ ョ ン

を リ ス ト 表示するには、 p4 have コマン ド を発行し ます。

• フ ァ イルが自分のワーク スペース内のど こに同期されたかを調べるには、 p4 sync -n コ

マン ド を発行し て同期結果をプレ ビ ューし ます。

上記のコマン ド では、 filespec 引数を付けて も付けな く て も使用でき ます。

次の表に、 フ ァ イルの場所を知る ための有用なコマン ド をい く つか示し ます。

フ ァ イルの内容を表示する

デ ィ ポ内のフ ァ イルの内容を表示するには、p4 print filespec コマン ド を発行し ます。こ

のコマン ド は、 フ ァ イルを説明する 1 行のヘッ ダ と と もに、 フ ァ イルの内容を標準出力または

指定出力フ ァ イルに出力し ます。 -q オプシ ョ ン を指定すれば、 ヘッ ダは出力されません。 デ

フ ォル ト では 新 リ ビジ ョ ンが表示されますが、 フ ァ イル ・ リ ビジ ョ ンを指定する こ と も でき

ます。

注釈 (フ ァ イル内容への変更の詳細情報) を表示する

テキス ト フ ァ イルのどの行を どのフ ァ イル・ リ ビジ ョ ン またはチェ ンジ リ ス ト で変更し たかを

調べるには、 p4 annotate コマン ド を発行し ます。

デフ ォル ト では、 p4 annotate はフ ァ イルの各行を表示し、 変更し た リ ビジ ョ ンがわかる よ

う に、 各行の先頭に リ ビジ ョ ン番号が付加されます。 リ ビジ ョ ン番号ではな く チェ ンジ リ ス ト

番号を表示するには、 -c オプシ ョ ンを指定し ます。

一覧表示する内容 使用する コマン ド

現在のワーク スペースで作業状態になっている フ ァ イル p4 opened

すべての ク ラ イ ア ン ト ・ ワー ク スペース にあ る作業状態の

フ ァ イル

p4 opened -as

p4 opened -a

番号付きの作業中チェ ンジ リ ス ト に含まれている フ ァ イル p4 opened -c changelist

デフ ォル ト チェ ンジ リ ス ト に含まれている フ ァ イル p4 opened -c default

特定のフ ァ イ ルが自分の ワー ク スペース で作業状態にな っ

ているかど う か

p4 opened filespec

特定のフ ァ イルが作業状態になっているかど う か p4 opened -a filespec

表示する内容 使用する コマン ド

自分の ワー ク スペース に同期 さ せてい る フ ァ イ ルの リ

ビジ ョ ン番号

p4 have filespec

デ ィ ポ内にあ る特定のフ ァ イ ルが自分の ワー ク スペー

スのど こ にマ ッ ピング されているか

p4 where //depot/filespec

表示させたいフ ァ イル内容 使用する コマン ド

新 リ ビジ ョ ン p4 print filespec

ヘッ ダを含まないフ ァ イル内容 p4 print -q filespec

特定のチェ ンジ リ ス ト 番号のフ ァ イル p4 print filespec@changenum

102 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 105: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 9 章 : ス ク リ プ ト と レポー ト に使用する コマン ド

例 : p4 annotate を使って、 フ ァ イルへの変更を表示

デ ィ ポにフ ァ イル (file.txt#1) が追加され、 フ ァ イルには以下の行が含まれています。

3 行目が削除され、 2 行目が編集されて、 file.txt#2 は次のよ う にな り ます。

p4 annotate および p4 annotate -c の出力は次のよ う にな り ます。

file.txt の 初の行は リ ビ ジ ョ ン 1 か ら存在し、 こ の リ ビ ジ ョ ンはチ ェ ン ジ リ ス ト 151 でサブ ミ ッ ト されています。 2 行目は リ ビジ ョ ン 2 か ら存在し、 その リ ビジ ョ ンは チェ ンジ リ ス ト 152 でサブ ミ ッ ト されています。

こ の フ ァ イ ルのすべての行を (削除 さ れた行を含め) 表示す る には、 次の よ う に p4 annotate -a を実行し ます。

出力の 初の行は、フ ァ イルの 1 行目が リ ビジ ョ ン 1 から 3 まで存在し ている こ と を示しています。次の 2 行は、file.txt の これらの行が リ ビジ ョ ン 1 にのみ存在し た こ と を示し ています。 後の行は、 リ ビジ ョ ン 2 で追加された行が リ ビジ ョ ン 3 に も存在し ているこ と を示し ています。

-a オプシ ョ ン と -c オプシ ョ ンを組み合わせる と、 これまで こ のフ ァ イルに存在し たす べての行と、 各行が存在し たチェ ンジ リ ス ト 番号 ( リ ビジ ョ ン番号ではない) を表示するこ と ができ ます。

フ ァ イルへの変更を監視する

フ ァ イルへの変更を発生の都度追跡する ために、 PERFORCE のチェ ンジ ・ レ ビ ュー ・ デーモン

を使用でき ます。 これによ り 、 PERFORCE ユーザが目的のフ ァ イルやデ ィ レ ク ト リ を指定し た

り 、特定のフ ァ イルを変更するチェ ンジ リ ス ト がサブ ミ ッ ト された と きに メ ールを受信する こ

と ができ ます。 レ ビ ュー ・ デーモンの管理に関する詳細情報は、 『PERFORCE システム管理者ガ イ ド』、 および 『PERFORCE コマン ド ・ リ フ ァ レ ン ス』 の p4 review コマン ド の説明を参照し

て く ださ い。

This is a text file.The second line has not been changed.The third line has not been changed.

This is a text file.The second line is new.

$ 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.

$ 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.

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 103

Page 106: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 9 章 : ス ク リ プ ト と レポー ト に使用する コマン ド

次の表に、 フ ァ イル、 チェ ンジ リ ス ト 、 およびユーザの状態に関する情報を表示する コマン ド

を示し ます。 これらのコマン ド はレ ビ ュー ・ デーモンでよ く 使用されます。

チ ェ ンジ リ ス ト のレポー ト

p4 changes コマン ド は特定の検索基準に合 う チェ ンジ リ ス ト を一覧表示し、 p4 describe コ マン ド は特定のチェ ンジ リ ス ト に関連付け られている フ ァ イルやジ ョ ブを一覧表示し ます。

以下、 これらのコマン ド について解説し ます。

チ ェ ンジ リ ス ト を一覧表示する

チェ ンジ リ ス ト を一覧表示するには、 p4 changes コマン ド を発行し ます。 デフ ォル ト では、

p4 changes はシステムが認識し ている public タ イプのチェ ンジ リ ス ト と当該ユーザがア

ク セス権限を持つ restricted タ イプのチェ ンジ リ ス ト についてそれぞれ 1 行ずつ表示し ま

す。 以下の表に、 リ ス ト のフ ィ ルタ リ ングに使用でき る コマン ド ラ イ ン ・ オプシ ョ ンを示し ま

す。

チ ェ ンジ リ ス ト に関連する フ ァ イルと ジ ョ ブを一覧表示する

特定のチェ ンジ リ ス ト に関連する フ ァ イル と ジ ョ ブの一覧を、変更の差分と と もに表示するに

は、 p4 describe コ マン ド を発行し ます。 差分を省略する (短い形式の出力) には、 -s オ

一覧表示し たい内容 使用する コマン ド

特定のフ ァ イルを閲覧するユーザ p4 reviews filespec

特定のチェ ンジ リ ス ト 内のフ ァ イルを閲覧するユーザ p4 reviews -c changenum

特定のユーザの電子 メ ール ・ ア ド レ ス p4 users username

一覧表示させたいチ ェ ンジ リ ス ト 使用する コマン ド

チェ ンジ リ ス ト の記述の 初の 31 文字を表示 p4 changes

チェ ンジ リ ス ト の完全な記述を表示 p4 changes -l

新の n 個のチェ ンジ リ ス ト p4 changes -m n

特定の状態のチェ ンジ リ ス ト p4 changes -s pendingp4 changes -s submittedchanges -s shelved

特定ユーザに関連するチェ ンジ リ ス ト p4 changes -u user

特定のワーク スペースに関連するチェ ンジ リ ス ト p4 changes -c workspace

特定フ ァ イルに関連するチェ ンジ リ ス ト p4 changes filespec

特定フ ァ イルに関連するチェ ンジ リ ス ト を示すが、 特

定フ ァ イルの反映元 と なったフ ァ イルに関連するチェ

ンジ リ ス ト を含める

p4 changes -i filespec

特定フ ァ イルに関連するチェ ンジ リ ス ト を示し、 これ

ら のフ ァ イルの リ ビ ジ ョ ン m と リ ビ ジ ョ ン n の間の

チェ ンジ リ ス ト のみを含める

p4 changes filespec#m,#n

ラベル lab1 と ラベル lab2 の間の各 リ ビジ ョ ンで、

特定フ ァ イルに関連するチェ ンジ リ ス ト

p4 changes filespec@lab1,@lab2

2 つの日付の間にサブ ミ ッ ト されたチェ ンジ リ ス ト p4 changes @date1,@date2

特定の日以降にサブ ミ ッ ト されたチェ ンジ リ ス ト p4 changes @date1,@now

104 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 107: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 9 章 : ス ク リ プ ト と レポー ト に使用する コマン ド

プシ ョ ンを指定し ます。 次の表に、 チェ ンジ リ ス ト のレポー ト に使われる有用なコマン ド をい

く つか示し ます。

ジ ョ ブについてレポー ト するその他のコマン ド に関し ては、106 ページの 「ジ ョ ブのレポー ト 」

をご覧 く だ さい。

ラベルのレポー ト

ラベルに関する情報を表示するには、 p4 labels コマン ド を発行し ます。 次の表に、 ラベル

のレポー ト に使われる有用な コマン ド をい く つか示し ます。

ブ ラ ンチ と反映のレポー ト

以下の表に、ブラ ンチおよび反映操作に関する レポー ト に一般的に使用される コマン ド を示し

ます。

一覧表示させたい内容 使用する コマン ド

作業中チェ ンジ リ ス ト に含まれる フ ァ イル p4 opened -c changenum

特定のチェ ンジ リ ス ト でサブ ミ ッ ト されたフ ァ イル、 お

よび修正されたジ ョ ブ。 差分を含む。

p4 describe changenum

特定のチェ ンジ リ ス ト でサブ ミ ッ ト されたフ ァ イル、 お

よび修正されたジ ョ ブ。 差分は表示し ない。

p4 describe -s changenum

特定のチ ェ ン ジ リ ス ト に関連する フ ァ イ ルおよびジ ョ

ブ。 コ ンテキス ト 差分オプシ ョ ンを基盤 と なる比較プロ

グ ラ ムに渡す。

p4 describe -dc changenum

特定のチェ ンジ リ ス ト におけ る特定フ ァ イルの状態を、

そのチ ェ ン ジ リ ス ト が こ れ ら のフ ァ イ ルに関連する か

ど う かに関わらず表示

p4 files filespec@changenum

一覧表示させたい内容 使用する コマン ド

すべてのラベル と その作成日付および所有者 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

Page 108: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 9 章 : ス ク リ プ ト と レポー ト に使用する コマン ド

ジ ョ ブのレポー ト

ジ ョ ブを一覧表示する

ジ ョ ブを一覧表示するには、 p4 jobs コマン ド を発行し ます。 以下の表に、 ジ ョ ブのレポー

ト に一般的に使用される コマン ド を示し ます。

チ ェ ンジ リ ス ト によ り解決し たジ ョ ブを一覧表示する

p4 change、 p4 submit、 および p4 fix でチェ ンジ リ ス ト に リ ン ク されたジ ョ ブは、 「修 正されたジ ョ ブ」 ( それらの状態が closed であ るかど う かにかかわらず ) と呼ばれます。チェ

ンジ リ ス ト によ り 修正されたジ ョ ブを一覧表示するには、 p4 fixes コマン ド を発行し ます。

以下の表に、 修正のレポー ト に使われる有用なコマン ド を示し ます。

システム構成のレポー ト

こ のセ ク シ ョ ンで説明する コマン ド では、 PERFORCE ユーザ、 ク ラ イ アン ト ・ ワーク スペース、

およびデ ィ ポが表示されます。

ユーザの表示

p4 users コマン ド はユーザ名、 電子 メ ール ・ ア ド レ ス、 ユーザの 「本」 名、 およびユーザが

後に PERFORCE にア ク セス し た日付を、 以下の形式で表示し ます。

一覧表示させたい内容 使用する コマン ド

すべてのジ ョ ブ p4 jobs

すべてのジ ョ ブに、 ジ ョ ブの完全な説明を含む p4 jobs -l

検索基準に合致する ジ ョ ブ (詳し く は 94 ページの 「ジ ョ ブの検索」 を参照)

p4 jobs -e jobview

特定のフ ァ イルを含むチェ ンジ リ ス ト で修正されたジ ョ ブ p4 jobs filespec

特定のフ ァ イルを含むチェ ンジ リ ス ト で修正されたジ ョ ブ。 その特

定のフ ァ イルの反映元 と なったフ ァ イルに関連するチェ ンジ リ ス ト

を含める

p4 jobs -i filespec

一覧表示させたい内容 使用する コマン ド

ジ ョ ブに リ ン ク されているすべてのチェ ンジ リ ス ト p4 fixes

特定のジ ョ ブに リ ン ク されているすべてのチェ ンジ リ ス ト p4 fixes -j jobname

特定のチェ ンジ リ ス ト に リ ン ク されているすべてのジ ョ ブ p4 fixes -c changenum

特定のフ ァ イルに関連するすべての修正 p4 fixes filespec

特定のフ ァ イルに関連するすべての修正。 その特定のフ ァ イルの

反映元と なったフ ァ イルに関連するチェ ンジ リ ス ト を含める。

p4 fixes -i filespec

bruno <bruno@bruno_ws> (bruno) accessed 2011/03/07dai <dai@dai_ws> (Dai Sato) accessed 2011/03/04earl <earl@earl_ws> (Earl Ashby) accessed 2011/03/07gale <gale@gale_ws> (Gale Beal) accessed 2011/06/03hera <hera@hera_ws> (Hera Otis) accessed 2011/10/03ines <ines@ines_ws> (Ines Rios) accessed 2011/02/02jack <jack@submariner> (jack) accessed 2011/03/02mei <mei@mei_ws> (Mei Chang) accessed 2011/11/14ona <ona@ona_ws> (Ona Birch) accessed 2011/10/23quinn <quinn@quinn_ws> (Quinn Cass) accessed 2011/01/27raj <raj@ran_ws> (Raj Bai) accessed 2011/07/28vera <vera@vera_ws> (Vera Cullen) accessed 2011/01/15

106 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 109: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 9 章 : ス ク リ プ ト と レポー ト に使用する コマン ド

ワークスペースの表示

ク ラ イ アン ト ・ ワーク スペースの情報を表示するには、 p4 clients コマン ド を発行し ます。

こ のコマン ド は、 ク ラ イ アン ト ・ ワーク スペース名、 ワーク スペースの 終更新日付、 ワーク

スペース ・ ルー ト 、 およびワーク スペースの説明を以下の形式で表示し ます。

デ ィ ポを一覧表示する

デ ィ ポを一覧表示するには、 p4 depots コマン ド を発行し ます。 このコマン ド によ る表示項

目は、 デ ィ ポ名、 デ ィ ポの作成日、 デ ィ ポのタ イプ (local、 remote、 archive、 spec ま

たは stream)、 デ ィ ポのホ ス ト 名または IP ア ド レ ス (remote の場合)、 ローカル ・ デ ィ ポへ

のマ ッ ピング、 およびデ ィ ポに関する システム管理者のコ メ ン ト です。

単一の PERFORCE イ ン ス ト ールで複数のデ ィ ポを定義する方法について詳し く は、 『PERFORCE システム管理者ガイ ド 』 をご覧 く だ さい。

Client bruno_ws 2011/03/07 root c:\bruno_ws ''Client dai-beos-locust 2011/10/03 root /boot/home/src ''Client earl-beos-aspen 2011/04/15 root /boot/src ''Client earl-dev-beech 2011/10/26 root /home/earl ''Client earl-dev-guava 2011/09/08 root /usr/earl/development ''Client earl-dev-yew 2011/11/19 root /tmp ''Client earl-mac-alder 2011/03/19 root Macintosh HD:earl ''Client earl-os2-buckeye 2011/03/21 root c:\src ''Client earl-qnx-elm 2011/01/17 root /src ''Client earl-tupelo 2011/01/05 root /usr/earl ''

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 107

Page 110: PERFORCE 2013.1 P4ユーザーズ・ガイド

第 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=echoexit=exitp4=p4sed=sed

if [ $# -ne 1 ]then $echo "Usage: $0 files" $exit 1fi

$p4 fstat -Ro $1 | while read linedo 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

if [ $headRev != $haveRev ] then $echo $depotFile fi fidone

108 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 111: 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

Page 112: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 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 を設定し ます。 ク ラ イ アン ト ・ ワーク スペース、 ラベ

ル、 およびブラ ンチ仕様に同じ名前を付ける こ と はでき ません。

ク ラ イ アン ト ・

ワーク スペース ・ ビ ュー

デ ィ ポ内のフ ァ イルの場所 と ク ラ イ アン ト ・ ワーク スペースの対応を

規定するマ ッ ピングのセ ッ ト 。

グループ PERFORCE ユーザの リ ス ト 。

用語 定義

110 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 113: 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

Page 114: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 A: 用語集

除外マ ッ ピング 特定フ ァ イルを除外する ビ ュー ・ マ ッ ピング。

ジ ョ ブ PERFORCE が追跡する ユーザ定義の作業ユニ ッ ト 。 追跡する情報は、

ジ ョ ブ ・ テンプレー ト で決定し ます。 テンプレー ト は PERFORCE のシ

ステム管理者が変更でき ます。

ジ ョ ブ仕様 PERFORCE ジ ョ ブ と し て保存されたフ ィ ール ド と有効値を含む仕様。

ジ ョ ブの修正 チェ ンジ リ ス ト に リ ン ク されたジ ョ ブ。

ジ ョ ブ ・ ビ ュー PERFORCE ジ ョ ブの検索に使用される シン タ ッ ク ス。

所有者 特定のク ラ イ アン ト 、 ブラ ンチ、 あ るいはラベルを作成し た PERFORCE

ユーザ。

所有 リ ス ト 現在ク ラ イ アン ト ・ ワーク スペースにあ る フ ァ イル ・ リ ビジ ョ ンの一

覧。

怠惰なコ ピー デ ィ ポ内のフ ァ イル内容を複製せずに、 フ ァ イルの内部コ ピーを作成

するのに PERFORCE が使用する方法。 怠惰なコ ピーは、 フ ァ イルのコ

ピーの代わ り にオ リ ジナル ・ フ ァ イルへの リ フ ァ レ ン ス を保存する こ

と によ り 、 使用するデ ィ ス ク容量を 小化し ます。

タ イプマ ッ プ フ ァ イルにPERFORCE フ ァ イルタ イプを割 り 当てる PERFORCEテーブル。

チェ ッ ク ポイ ン ト あ る特定の瞬間におけ る基礎的な メ タデータのコ ピー。 メ タデータをご覧 く ださい。

チェ ンジ リ ス ト PERFORCE における ア ト ミ ッ ク ・ チェ ンジ ・ ト ラ ンザク シ ョ ン。 チェ ン

ジ リ ス ト で指定された変更は、 チェ ンジ リ ス ト がデ ィ ポにサブ ミ ッ ト

される までデ ィ ポには保存されません。

チェ ンジ リ ス ト 番号 数値で表されるチェ ンジ リ ス ト の一意の識別子。

チェ ンジ リ ス ト ・

フ ォーム

チェ ンジ リ ス ト の修正に使用される PERFORCE フ ォーム。

チェ ンジ ・ レ ビ ュー デ ィ ポ内の指定フ ァ イルに加え られる変更を登録ユーザに電子 メ ール

で送信するプロセス。

チ ッ プ ・ リ ビジ ョ ン PERFORCE では 新 リ ビジ ョ ンのこ と。 チ ッ プ ・ リ ビジ ョ ンは、 他

のバージ ョ ン管理システムで使用される用語です。

デ ィ ポ PERFORCE サービ スにホ ス ト さ れたフ ァ イル ・ リ ポジ ト リ 。 こ こ には

デ ィ ポにサブ ミ ッ ト された全フ ァ イルの全バージ ョ ンが含まれます。1

つのイ ン ス ト ールに複数のデ ィ ポを置 く こ と ができ ます。

デ ィ ポ ・ サイ ド ク ラ イ アン ト ・ ビ ューにおけるマ ッ ピングの左側。 デ ィ ポ内におけ る

フ ァ イルの場所を指定し ます。

デ ィ ポ ・ シン タ ッ ク ス デ ィ ポ内における フ ァ イルの場所を指定する PERFORCE シン タ ッ ク ス。

デ ィ ポ ・ ルー ト デ ィ ポのルー ト ・ デ ィ レ ク ト リ 。

デフ ォル ト ・ チェ ンジ リ

ス ト

番号付チェ ンジ リ ス ト が指定されない限 り 、PERFORCE コマン ド が使用

するチェ ンジ リ ス ト 。フ ァ イルが編集目的で作業状態になる と、デフ ォ

ル ト の作業中チェ ンジ リ ス ト が自動的に作成されます。

デフ ォル ト ・ デ ィ ポ 名前が指定されていないデ ィ ポに与え られる名前。 デフ ォル ト ・ デ ィ

ポ名は、 depot です。

デルタ 2 つのフ ァ イル間の差異。

同期 デ ィ ポから ク ラ イ アン ト ・ ワーク スペースへ、 フ ァ イル ・ リ ビジ ョ ン

(あ るいはフ ァ イル ・ リ ビジ ョ ン ・ セ ッ ト ) を コ ピーする こ と。

ト リ ガ チェ ンジ リ ス ト がサブ ミ ッ ト された と き PERFORCE サービ スが自動的

に起動する ス ク リ プ ト 。

用語 定義

112 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 115: 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

Page 116: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 A: 用語集

ブラ ンチ ・ ビ ュー デ ィ ポ内の 2 つのコード ラ イ ン間のブラ ンチ関係を示す仕様。 各ブラ

ンチ ・ ビ ューは一意の名前を持ち、 反映元のコード ラ イ ンから反映先

のコード ラ イ ンにどのよ う にフ ァ イルをマ ッ ピングするかを定義し ま

す。 ブラ ンチをご覧 く ださい。

ブラ ンチ ・ フ ォーム ブラ ンチ仕様の修正に使用する PERFORCE フ ォーム。

ブラ ンチ ・ マ ッ ピング オ リ ジナルのコー ド ラ イ ン と ブ ラ ンチの場所を定義する こ と に よ り 、

ブラ ンチの作成方法を規定し ます。 ブラ ンチ仕様は、 ブラ ンチの作成

と更新のために反映プロセスで使用されます。 ク ラ イ アン ト ・ ワーク

スペース、 ラベル、 およびブラ ンチ仕様に同じ名前を付け る こ と はで

き ません。

フル ・ フ ァ イル保存 PERFORCE がデ ィ ポ内にバイナ リ ・ フ ァ イルの リ ビジ ョ ンを保存する方

法。 すべてのフ ァ イル ・ リ ビジ ョ ンは完全な形で保存されます。 これ

に対し て リ バースデルタ保存は、PERFORCE がテキス ト タ イプのフ ァ

イルに対し て使用する方法です。

プロ テ ク シ ョ ン PERFORCE サービ スのプロ テ ク シ ョ ン ・ テーブルに格納されているパー

ミ ッ シ ョ ン。

保留 チェ ンジ リ ス ト をチェ ッ ク イ ンせずに、 フ ァ イルを PERFORCE サービ

スに一時的に格納する処理のこ と。

マージ 2 つの衝突し ている フ ァ イル ・ リ ビジ ョ ンの内容を 1 つのフ ァ イルに

結合するプロセス。

マージ ・ フ ァ イル 2 つの衝突し ている フ ァ イル ・ リ ビジ ョ ンから PERFORCE が生成し た

フ ァ イル。

マ ッ ピング ビ ュー内の 1 行で、 デ ィ ポ内のフ ァ イル と ク ラ イ アン ト 、 ラベル、 ま

たはブラ ンチ内のフ ァ イル と の対応を指定する左側 と右側 と で構成さ

れています。左側はデ ィ ポ ・ フ ァ イルを指定し、 右側がク ラ イ アン ト ・

フ ァ イルを指定し ます。

(ク ラ イ アン ト ・ ワーク スペース ・ ビ ュー、 ラベル ・ ビ ュー、 ブ ラ ンチ ・ ビ ューも ご覧 く ださい。)

メ タデータ PERFORCE サービ スが保存するデータで、 デ ィ ポ内のフ ァ イル、 ク ラ イ

アン ト ・ ワーク スペースの現在の状態、 プロ テ ク シ ョ ン、 ユーザ、 ラ

ベル、およびブラ ンチに関する記述があ り ます。 メ タデータには、フ ァ

イルの実際の内容を除いて、 サービ スに保存されているすべてのデー

タが含まれています。

元に戻す ク ラ イ アン ト ・ ワーク スペース内のフ ァ イルへの変更を廃棄する こ と。

ユーザ 誰が操作し ているかを判断する ため PERFORCE が使用する識別子。

ラ イセン ス ・ フ ァ イル サイ ト の PERFORCE ユーザの数が、 購入し た数を超えないよ う にし ま

す。

ラベル ユーザ指定のフ ァ イル ・ リ ビジ ョ ンの リ ス ト に名前を付けた もの。

ラベル ・ ビ ュー デ ィ ポ内のどのフ ァ イ ル名が特定 ラ ベル内に保存可能かを規定する

ビ ュー。

リ ソース ・ フ ォーク Mac フ ァ イルのフ ォーク の 1 つ。 (Macintosh フ ァ イルは、 リ ソース ・

フ ォーク とデータ ・ フ ォーク で構成されています。) PERFORCE のア ッ

プル ・ フ ァ イルタ イプを使用する こ と によ り 、 リ ソース ・ フ ォーク を

PERFORCEデ ィ ポ内にAppleSingleフ ァ イルの一部 と し て保存でき ま

す。

リ バースデルタ保存 テキス ト ・ フ ァ イルの リ ビジ ョ ンを保存する ために PERFORCE が使用

する方法。 PERFORCE は、 新 リ ビジ ョ ンの全テキス ト を保存し、 さ ら

に、各 リ ビジ ョ ン と その直前の リ ビジ ョ ン と の間の変更を保存し ます。

用語 定義

114 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 117: 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

Page 118: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 A: 用語集

116 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 119: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 B PERFORCE のフ ァ イルタ イプ

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

記憶。

詳細については、 Mac ク ラ イ アン ト ・ リ リ ース ノー

ト を参照。

フル・フ ァ イル、

圧縮、

AppleSingle

フ ォーマ ッ ト

binary 非 テ キ ス ト ・

フ ァ イル

ワーク スペースにバイナ リ ・ フ ァ イル と し て同期さ

れます。デ ィ ポ内に圧縮された状態で記憶されます。

フル・フ ァ イル、

圧縮

resource Mac リ ソース ・

フ ォーク

(旧式) このタ イプは後方互換性を保つためにサポー

ト されていますが、 apple フ ァ イルタ イプを使用す

る こ と を推奨し ます。

フル・フ ァ イル、

圧縮

symlink シンボ リ ッ ク ・

リ ン ク

UNIX、 OS X または 近のバージ ョ ンの Windows 環

境にあ る PERFORCE アプ リ ケーシ ョ ンでは、これらの

フ ァ イ ルはシ ンボ リ ッ ク リ ン ク と し て扱われます。

その他のプ ラ ッ ト フ ォームでは、 これら のフ ァ イル

は(小さい)テキス ト ・フ ァ イル と同様に示されます。

デルタ

text テキ ス ト ・ フ ァ

イル

ワーク スペースにテキ ス ト と し て同期されます。 行

末変換が自動的に実行されます。

デルタ

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 117

Page 120: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 B: PERFORCE のフ ァ イルタ イプ

フ ァ イルタ イプ修飾子

特定のフ ァ イルのベース ・ タ イプにフ ァ イルタ イプ修飾子を適用する こ と によ り 、 タ イ ム ス タ

ンプの保存、 RCS キーワー ド 拡張、 サービ ス上でのフ ァ イルの保存方法の指定などができ ま

す。 修飾子のフ ァ イルタ イプへの適用に関し て詳し く は、 119 ページの 「Perforce でのフ ァ イ

ルの保存形式を指定する」 をご覧 く だ さい。

以下の表に、 フ ァ イルタ イプ修飾子を示し ます。

unicode unicode フ ァ イ

Unicodeモード のPERFORCEサービ スはunicodeフ ァ

イルタ イプをサポー ト し ます。 こ のタ イプのフ ァ イ

ルは P4CHARSET によ り 指定された ローカルの文字

セ ッ ト に変換されます。

Unicode モード で稼動し ていない PERFORCE サービ ス

では、Unicode フ ァ イルタ イプはサポー ト されていま

せん。

詳細は、 『PERFORCE 国際語モード に関する注意事項』

をご参照 く ださい。

デルタ、 UTF-8

utf16 unicode フ ァ イ

サービ スが Unicode モード で動作し ているか否かに

かかわらず、 フ ァ イルは UTF-8 で転送され、 UTF-

16 (BOM 付き、 ユーザのマシンに適切なバイ ト 順)

にコード変換されます。

詳細については、 「PERFORCE 国際語モー ド に関する

注意事項 (i18nnotes.txt)」 をご覧 く ださい。

デルタ、 UTF-8

修飾子 記述 コ メ ン ト

+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 制限付きのキーワード拡張 キーワード $Id$ および $Header$ だけを拡張し ま

す。こ の修飾子の対は、主に 2000.1 よ り 前の PERFORCE

にさ か上って互換でき る よ う にする目的で存在し、旧

バージ ョ ンの PERFORCE における修飾子 +k (ktext)

に対応し ます。

キーワー ド 記述 コ メ ン ト 記憶タ イプ

118 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 121: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 B: PERFORCE のフ ァ イルタ イプ

PERFORCE でのフ ァ イルの保存形式を指定する

通常、 バイナ リ ・ フ ァ イルのフ ァ イル ・ リ ビジ ョ ンはすべてデ ィ ポ内に保存されますが、 テキ

ス ト ・ フ ァ イルでは前の リ ビジ ョ ンが保存された後に加え られた変更だけが保存されます。 こ

れはデルタ記憶と呼ばれ、 PERFORCE では RCS フ ォーマ ッ ト を使用し てそのデルタ を記憶し ま

す。 フ ァ イルタ イプによ り 、 フ ァ イル全体を記憶するかデルタ記憶を使用するかが決定されま

す。

フ ァ イルタ イプのい く つかは、 デ ィ ポに記憶される際、 gzip フ ォーマ ッ ト に圧縮されます。 圧

縮はフ ァ イルをサブ ミ ッ ト する と きに行われ、 解凍はフ ァ イルを同期 (フ ァ イルをデ ィ ポから

ワーク スペースにコ ピー) させる と きに行われます。 ク ラ イ アン ト ・ ワーク スペースは常に、

サブ ミ ッ ト された時点のフ ァ イルを保持し ます。

Unicode のフ ァ イルにフ ァ イルタ イプを割り当てる

PERFORCE サービ スは、 Unicode モード で起動し て Unicode 文字を含むフ ァ イル名や PERFORCE

メ タデータに対するサポー ト を有効にするか、 あ るいは非 Unicode モード で起動する こ と がで

+l 排他的にフ ァ イルを作業状態にす

る (ロ ッ クする)

設定する と一度に 1 人のユーザしか、編集目的で作業

状態にする こ と ができ ません。

複数の作業者に よ る変更のマージが不可能であ るバ

イナ リ ・ フ ァ イルタ イプ (グ ラ フ ィ ッ ク等) に有用で

す。

+m オ リ ジナルの更新日時を保存する ローカル・フ ァ イルシステム上のフ ァ イルのタ イ ム ス

タ ンプがサブ ミ ッ ト 時に保存され、同期時に復元され

ます。 Windows OS はフ ァ イルのタ イ ム ス タ ンプに依

存する ため、Windows 環境下におけるサード パーテ ィ

の dll に と って有用です。 デフ ォル ト では、 更新日時

はフ ァ イルを同期させた日時に設定されます。

+S 新 リ ビジ ョ ンだけがサーバで記

憶される

旧 リ ビ ジ ョ ンは、 新し い リ ビジ ョ ンのサブ ミ ッ ト に

よ っ てデ ィ ポか ら削除 さ れます。 実行フ ァ イ ルま た

は .obj フ ァ イルに有用です。

+Sn 新の n 個の リ ビジ ョ ンだけが格

納されます。 n は 1 から 10 まで、

または 16、 32、 64、 128、 256、 512

のいずれかの数値です。

新しい リ ビジ ョ ンを n個を超えてサブ ミ ッ ト するか、

既存の +Sn フ ァ イルの n を現在の リ ビジ ョ ン数よ り

少ない値に変更する と、古い リ ビジ ョ ンはデ ィ ポから

消去されます。 詳し く は、 『コマン ド ・ リ フ ァ レ ン ス』

を参照し て く ださい。

+w フ ァ イルは常に ク ラ イ アン ト 側で

書き込み可能

PERFORCE によ り フ ァ イルの読み取 り /書き込みの設

定が管理される ため、 こ の設定は推奨されません。

+x ク ラ イ ア ン ト 側で実行 ビ ッ ト を

セ ッ ト

実行フ ァ イルに使用し ます。

+X アーカ イブ ・ ト リ ガが必要 PERFORCE サービ スはフ ァ イルへのア ク セスのために

archive ト リ ガを実行し ます。詳し く は、『システム

管理者ガ イ ド』 を参照し て く ださい。

警告 不用意にフ ァ イルが切 り 捨て られないよ う にする ため、 バイナ リ ・ フ ァ イルを

テキス ト と し て保存し ないで く ださ い。 Windows ク ラ イ アン ト ・ マシンのバイ

ナ リ ・ フ ァ イルをテキス ト と し て保存する と、 そのフ ァ イルに Windows のフ ァ

イル終了キ ャ ラ ク タ ^Z が含まれている場合、 ^Z までの部分のみがデ ィ ポに保

存されます。

修飾子 記述 コ メ ン ト

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 119

Page 122: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 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 モード のサービ スが様々な種類のテキ ス ト フ ァ イルを

どのよ う に管理するかについて、 さ らに詳し く 示し ます。

非 Unicode モード のサービ スでは、 unicode フ ァ イルの内容について変換も検証も行いませ

ん。 UTF-8 のデータは、 ク ラ イ アン ト ・ プラ ッ ト フ ォームに適切なバイ ト 順を使用し て UTF-

テキス ト のフ ァイルタ イプ

PERFORCE での格納形式(Unicode モー ド )

検証を行うか P4CHARSET に

基づ く 変換

ク ラ イアン ト ・プ ラ ッ ト フ ォームに基づ く 変換

text 拡張 ASCII 検証し ない 実行されない 実行されない

unicode UTF-8 検証する (UTF-16 および P4CHARSET

と し て )

実行される 実行されない

utf16 UTF-8 検証する (UTF-16と し て )

実行される 実行されない

120 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 123: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 B: PERFORCE のフ ァ イルタ イプ

16 に変換されます。編集の際にそのよ う なフ ァ イルが破壊されないよ う にする ため、編集用ソ

フ ト ウ ェ アでフ ァ イルを 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 での格納形式(Unicode モー ド )

検証を行うか P4CHARSET に

基づ く 変換

ク ラ イアン ト ・プラ ッ ト フ ォームに基づ く 変換

text 拡張 ASCII 検証し ない 実行されない 実行されない

unicode UTF-8 検証する (UTF-16 および P4CHARSET

と し て )

実行されない 実行されない

utf16 UTF-8 検証する (UTF-16と し て )

実行されない 実行される

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 121

Page 124: PERFORCE 2013.1 P4ユーザーズ・ガイド

付録 B: PERFORCE のフ ァ イルタ イプ

プを保存でき る ため、 誤ってバージ ョ ンが不一致 と な る こ と を防ぐ こ と ができ ます。 +m 修飾

子は、(それが適用される フ ァ イルに対する) ク ラ イ アン ト ・ ワーク スペースの [no]modtimeの設定をオーバーラ イ ド し ます。 この設定について詳し く は、 118 ページの 「フ ァ イルタ イプ

修飾子」 を参照し て く だ さい。

RCS キーワー ド拡張

RCS ( リ ビジ ョ ン管理システム) は初期のバージ ョ ン管理システムであ り 、 ソース ・ フ ァ イル

に組み込み可能なキーワード が定義されています。RCS キーワード はフ ァ イルが格納場所に書

き込まれる たびに更新されます。 PERFORCE ではい く つかの RCS キーワード がサポー ト されて

います。 1 つのフ ァ イルについて RCS キーワード拡張を有効にするには、 +k 修飾子を使用し

ます。 RCS キーワード は次のよ う に拡張されます。

キーワー ド 拡張を行わずにフ ァ イルを表示するには、 p4 print -k filename を使用し ま

す。

キーワー ド 拡張対象 例

$Author$ フ ァ イルをサブ ミ ッ ト する

PERFORCE ユーザ

$Author: bruno $

$Change$ サブ ミ ッ ト される フ ァ イルに

付ける PRFORCE チェ ンジ リ

ス ト 番号

$Change: 439 $

$Date$ フ ォーマ ッ ト YYYY/MM/DD

によ る、 終サブ ミ ッ ト の日

$Date: 2011/08/18 $

$DateTime$ フ ォーマ ッ ト

YYYY/MM/DDhh:mm:ss によ

る、 終サブ ミ ッ ト の日付と

時刻。

日付と時刻は、 サブ ミ ッ ト 時

点の PERFORCE サービ ス上の

現地時間に準ずる。

$DateTime: 2011/08/18 23:17:02 $

$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 $

122 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 125: PERFORCE 2013.1 P4ユーザーズ・ガイド

索引

記号#none リ ビジ ョ ン指定子 42* ワ イル ド カード 23, 39+ (プラ ス記号)

オーバーレ イ ・ マ ッ ピング と プラ ス記号 25-

除外マ ッ ピング 24... ワ イル ド カー ド 23, 39, 49, 58

ク ラ イ アン ト ・ ビ ューと 23@

タ グ付け されたフ ァ イルを一覧表示する 105チェ ンジ リ ス ト を一覧表示する 104フ ァ イル名の予約文字 40フ ァ イル ・ リ ビジ ョ ンにタ グ付けする 87フ ァ イル ・ リ ビジ ョ ンを指定する 41, 58, 88フ ァ イル ・ リ ビジ ョ ンを同期させる 90フ ァ イル ・ リ ビジ ョ ンを反映させる 42ラベルの内容を同期させる 88リ ビジ ョ ン範囲を指定する 44

AAltRoots フ ィ ール ド 26

C-c オプシ ョ ン 52, 54, 102

F-f オプシ ョ ン 28, 78, 63

I-i オプシ ョ ン 99

L-l オプシ ョ ン 101leaveunchanged+reopen オプシ ョ ン 29leaveunchanged オプシ ョ ン 29LineEnd フ ィ ール ド 30LOCALE 環境変数 41

MMac

apple フ ァ イルタ イプ 117リ ソース ・ フ ォーク 117

mac オプシ ョ ン 30modtime 28

N-n オプシ ョ ン 52, 78noallwrite オプシ ョ ン 28noclobber オプシ ョ ン 28nocompress オプシ ョ ン 28nomodtime オプシ ョ ン 28normdir オプシ ョ ン 28null ルー ト 26

null 26

O-o オプシ ョ ン 99

Pp4 コマン ド

labelsync コマン ド 89label コマン ド 89sync コマン ド 48

P4CHARSET 環境変数 18, 37P4CLIENT 環境変数 15, 18, 19, 37P4COMMANDCHARSET 環境変数 18, 38P4DIFF 環境変数 18, 66, 69P4EDITOR 環境変数 18, 44P4HOST 環境変数 18, 37P4IGNORE 50P4LANGUAGE 環境変数 18, 38P4MERGE 環境変数 18, 65, 66P4PASSWD 環境変数 18, 38P4PORT 環境変数 18, 19, 21, 38P4USER 環境変数 18, 38PERFORCE

接続 38日付 と時刻 43

PERFORCE シン タ ッ ク ス 39

PERFORCE 2013.1 P4 ユーザーズ ・ ガイ ド 123

Page 126: PERFORCE 2013.1 P4ユーザーズ・ガイド

: 索引

PWD 環境変数 37Python ス ク リ プ ト 37

Q-q オプシ ョ ン 102

Rrevertunchanged+reopen オプシ ョ ン 29revertunchanged オプシ ョ ン 29RFC3484 22-r オプシ ョ ン 77

S-s オプシ ョ ン 57, 105SSL 31SubmitOptions

29submitunchanged+reopen オプシ ョ ン 29submitunchanged オプシ ョ ン 29

T-t オプシ ョ ン 117

UUNIX

LOCALE 環境変数 41コ メ ン ト の区切 り 文字 (#) 40代替ク ラ イ アン ト ・ ルー ト 26パス ・ コ ンポーネン ト の区切 り 文字 (/) 40マウ ン ト された ド ラ イブの行末文字 30ロ ッ ク されたフ ァ イルを見つける 70ワ イル ド カード (*) 40

unix オプシ ョ ン 30unlocked オプシ ョ ン 28UTF-16 18, 38UTF-32 38

V-v オプシ ョ ン 64View フ ィ ール ド 27

Wwin オプシ ョ ン 30Windows

DLL のタ イ ム ス タ ンプ 119イ ン ス ト ール 13行末文字 30地域設定 41バイナ リ ・ フ ァ イルの保存 119複数ド ラ イブ 26

あ暗号化 31

おオーバーレ イ ・ マ ッ ピング 25オプシ ョ ン

参照 コマン ド ラ イ ン ・ オプシ ョ ン

か書き込み許可 16環境変数

LOCALE 41P4CHARSET 18, 37P4CLIENT 15, 18, 19, 37P4COMMANDCHARSET 18, 38P4DIFF 18, 66, 69P4EDITOR 18, 44P4HOST 18, 37P4LANGUAGE 18, 38P4MERGE 18, 65, 66P4PASSWD 18, 38P4PORT 18, 19, 21, 38P4USER 18, 38PWD 37

き共有オプシ ョ ン 30

くク ラ イ アン ト ・ ルー ト

定義 15ヌル 26

ク ラ イ アン ト ・ ワーク スペースコマン ド ラ イ ンで指定する 37代替ルー ト 26定義 15複数の ド ラ イブにわた る ク ラ イ アン ト ・ ワー

ク スペース 26ク ラ イ アン ト ・ ワーク スペースから フ ァ イルを削除する 43

け警告

セキ ュ リ テ ィ 32権限

管理用コマン ド と権限 37ク ラ イ アン ト ・ ワーク スペース内のフ ァ イル

と権限 16, 51, 54反映 と権限 76非接続で作業する 59フ ァ イルの リ ネーム 55

124 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 127: PERFORCE 2013.1 P4ユーザーズ・ガイド

: 索引

こ更新時刻 121コード ラ イ ンの管理 74コード ・ レ ビ ュー 55コマン ド

p4 コマン ド参照コマン ド ラ イ ン ・ オプシ ョ ン

-c オプシ ョ ン 54, 102p4 changes コマン ド 104p4 help usage コマン ド 44p4 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

し除外マ ッ ピング 24ジ ョ ブ

検索 94シン タ ッ ク ス

コマン ド ラ イ ン 37ビ ュー 44フ ァ イル ・ リ ビジ ョ ン 42ブラ ンチ ・ マ ッ ピング 75ブラ ンチ ・ マ ッ ピングを使用し た反映 77ラベル ・ ビ ュー 89ローカル 39

すス ク リ プ ト 作成 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

Page 128: PERFORCE 2013.1 P4ユーザーズ・ガイド

: 索引

-c オプシ ョ ン 52, 54, 102RCS キーワー ド 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 コマン ド 102p4 changes コマン ド 104行末の設定 30ク ラ イ アン ト ・ ビ ュー 20サーバ上のフ ァ イル格納場所 109サーバでのフ ァ イルの保存 118サブ ミ ッ ト ・ オプシ ョ ンの設定 29時刻 43ジ ョ ブ仕様 93ジ ョ ブの命名 93テキス ト ・ エデ ィ タ 64反映 リ ビジ ョ ン範囲 77ホ ス ト およびポー ト 17ワーク スペース名 15

デフ ォル ト ・ チェ ンジ リ ス ト 49, 52, 54

な長さ の制限 40

は反映

結果をプレ ビ ューする 78再解決する 78ブラ ンチ ・ マ ッ ピングの使用 77レポー ト 78

番号付チェ ンジ リ ス ト 53

ひ日付 と時間の指定 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

まマ ッ ピング

オーバーレ イ 25衝突する 25定義 22

む無視する フ ァ イル 50

よ予約文字 40

126 PERFORCE 2013.1 P4 ユーザーズ ・ ガ イ ド

Page 129: 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