FAQ

PERFORCE

PERFORCEの機能に関するFAQ

Qチケットの有効期間を変更することはできますか?

FAQ ID:16

A

Perforce グループごとに異なるチケットの有効期間を設定することができます。

チケットの有効期間を設定するには、Perforce グループの" p4 group "フォームの" Timeout: "フィールドを編集します。複数のグループに属するユーザの場合、チケットの有効期間は、対象のユーザが属する全グループの" Timeout 値 "の内、最大値となります。( この計算では、" unlimited "は含まれ、" unset " は無視して計算されます )

- 補足情報 -
システムアカウント用などのチケット有効期間を無期限にする場合には、Timeout:フィールドを [ unlimited ] に設定します。

回答を閉じる

Qチケットの有効期間を変更することはできますか?

FAQ ID:16

A
Perforce グループごとに異なるチケットの有効期間を設定することができます。

チケットの有効期間を設定するには、Perforce グループの" p4 group "フォームの" Timeout: "フィールドを編集します。複数のグループに属するユーザの場合、チケットの有効期間は、対象のユーザが属する全グループの" Timeout 値 "の内、最大値となります。( この計算では、" unlimited "は含まれ、" unset " は無視して計算されます )

- 補足情報 -
システムアカウント用などのチケット有効期間を無期限にする場合には、Timeout:フィールドを [ unlimited ] に設定します。
 

回答を閉じる

Q" Perforce "と" Perforce Helix "の違いを教えてください。

A
「Perforce Helix」というキーワードについてご説明させていただきます。
2015年にPerforce Software社は、これまでリリースしたすべての製品に対して、Helix というブランド名を付けました。 Perforce Helix は、従来の Perforce 製品全体を指しており、個々の製品には、Helix P4V、Helix Swarm、Helix Threat Detection のように、頭に Helix を付けております。
※従来の Perforceサーバ(P4D)だけは、Helix P4D とは表現せず、Helix バージョニングエンジンという名称になります。

ただし、全体を包括するブラント名として Helix という名前を用いるものの、個々の製品(例えば、Perforce サーバや P4V など)の機能は、これまでとまったく変わりはございません。そのため、弊社HPのPerforce-FAQ情報などはそのままご活用いただけます。

ご不明な点がございましたら、こちらまでご遠慮なくお問い合わせください。

回答を閉じる

Qバージョン化ファイル(ディポファイル)を格納するディポとデータベース(メタデータ)の違いはなにですか。

FAQ ID:19

A
ディポ(すなわち、Perforce Helix バージョニングエンジンが管理するファイル共有場所)には、Perforce Helix の管理下にある全ファイルのあらゆるリビジョン情報が含まれています。Peforce Helixはディポ内にあるファイルを大型ハードドライブのようにディレクトリ・ツリー(図1)として編成しています。 このディポ内のファイルをディポファイル、またはバージョン化ファイルと呼びます。
一方、Perforce Helix サーバではデータベースを保守し、チェンジログ、ユーザ権限、どの時点でどのユーザがどのファイルをチェックアウトしているかを追跡します。このPerforce Helix データベースに保存される情報をメタデータと呼びます。図1 メタデータとバージョン化ファイル

回答を閉じる

Qチケットベース認証のチケット(MD5ハッシュ値)が更新されるのはいつですか?

A
チケットベース認証に利用される、すべてのチケットの有効期間は有限(※1)であり、この有効期間が終了した後はチケットが無効となります。チケットの有効期間が終了後、再度ログインする際にチケット(MD5ハッシュ値)は更新されます。 " p4 logout -a "でログアウトした場合も、再ログイン時にはチケット(MD5ハッシュ値)が更新されます。 Perforce はチケットを環境変数" P4TICKETS "で指定されたファイルに保存します。この環境変数が設定されていない場合、Windowsでは%USERPROFILE%\p4tickets.txt、UNIXとその他のオペレーティングシステムでは$HOME/.p4ticketsにチケットが保存されています。

※1 デフォルトでは、チケットは12時間(43200秒)有効です。
※2 チケットの延長はこちらをご覧ください。
※3 チケットの有効期間の設定はこちらをご覧ください。

回答を閉じる

Qチケットの延長はできますか?

FAQ ID:15

A
ログイン中にp4 loginを実行すれば、チケットの有効期間を延長できます。ログイン中にp4 loginを実行すると、チケットの有効期間は初期タイムアウト設定値の1/3だけ延長されます。そのため、延長時間は初期タイムアウト設定の最大値に依存します。 

回答を閉じる

QEclipseとPerforceを連携することはできますか?

FAQ ID:15

A
Perforce Software社はEclipse連携用プラグイン(P4Eclipse)を提供しております。
お使いのEclipseにP4Eclipseをインストールしていただくことで、EclipseとPerforceを連携することができます。
P4Eclipseは、Perforceの構成管理システムをEclipseのIDEと密に連携させます。P4Eclipseの詳細な機能につきましては、下記URLをご覧ください。

- P4Eclipse (Eclipse Plug-in) -
 https://www.perforce.com/product/components/eclipse-plugin

※注意事項※
最新のP4EclipseがサポートするPerforceの対応環境と対応プラットフォームにつきましては、リリースノートをご覧ください。
- Release Notes for P4Eclipse -
 http://www.perforce.com/perforce/doc.current/user/p4eclipsenotes.txt

回答を閉じる

Q"「排他オープン」状態のファイルはチェックアウトできません。"とエラーが出力されました。チェックアウトするためにはどうすればいいですか?

FAQ ID:13

Q
A
【原因】
チェックアウト対象のファイル中に、次の状態のファイルが一つ以上あります。
上記理由により、排他オープンによるエラーが出力されています。

- 状態 -
 ファイルタイプ修飾子 "+l" が設定されている、かつ、 別のユーザがチェックアウトしている、もしくは、当該ユーザが別のワークスペースでチェックアウトしている


【確認方法】
チェックアウトされているファイルを漏れなく確認するには、" p4 opened "コマンドを用いたコマンドラインによる確認が適しています。 以下にコマンド例を示します。

- ユーザ(例)
 hela

- チェックアウト対象(例)
  //depot/dir1/aaa.c
  //depot/dir1/bbb.c
  //depot/dir1/ccc.c
  //depot/dir1/ddd.c

- コマンド(例)
 p4 opened -a //depot/dir1/....c

- コマンド結果(例)
//depot/dir1/aaa.c#8 - edit change 734 (unicode+lS) by bruno@bruno_ws *exclusive*
//depot/dir1/bbb.c#6 - edit change 734 (unicode+S)  by bruno@bruno_ws
※ユーザ "bruno" が、ワークスペース "bruno_ws" で利用しているチェンジリスト "734" において、" aaa.c " の " リビジョン8 "を排他チェックアウトしていることが確認できます。
※" bbb.c " の " リビジョン6 "は排他チェックアウトされていないため、今回のエラーには関係しません。


【対応策】
コマンド結果の例をもとに、以下に対応策を示します。

ユーザ "bruno" により、"aaa.c" の "リビジョン8"をサブミットする、もしくは、"aaa.c" の "リビジョン8"を元に戻すことで、ユーザ "hela" による当該ファイルのチェックアウトが可能となります。
 

回答を閉じる

Q管理用のレポート(リリース表、現在チェックアウト中のファイル一覧、ユーザOkanoが行ったチェンジの一覧 等)は作成できますか?

A
できます。チェンジをサブミットすることによって、「誰が」「いつ」「何を」「どこで」「どのような目的で」という情報をほとんど自動的に記録することができます。また、登録したジョブ、チェンジ、および実際に変更したファイル(リビジョン)はリンク情報を持っていますので、お互いに参照し、検索することができるようになっています。
具体的に、例えば次のようなレポートを作成することができます。

ユーザTanakaがサブミットしたチェンジの一覧
リリース3.00において変更したファイルの一覧と各ファイルにおける変更差分
ヘッダファイルfoo.hに対して8月1日以降にサブミットされたチェンジの一覧 等
 

回答を閉じる

QPERFORCEのリビジョン管理において、RCSのキーワード拡張($Id$、$Date$等)は使えますか?

FAQ ID:6

A
使えます。PERFORCEのファイルタイプという機能で「RCSのキーワード拡張」を選択することによって、 リビジョン管理されたファイルにRCSキーワード拡張を記述し、ファイル参照時にそれを展開することができます。
具体的なキーワードの情報が、 コマンド・リファレンスに書かれていますのでご参考にして下さい。

回答を閉じる

Qパフォーマンス改善技法

FAQ ID:058

A
概要

この記事では、大規模サイトのための様々なパフォーマンス改善技法を記述しています。

詳細

PERFORCE システム管理者ガイド』の第7章「PERFORCEのパフォーマンス調整」にある「サーバの停滞を防止する」を必ずお読みください。以下の技法の大部分は、その章で詳しく説明しています。
 
古い PERFORCE のリリースを稼動させている場合は、アップグレードを検討してください。PERFORCEの各リリースでは、それ以前のバージョンよりもパフォーマンスの 改善が図られています。現在のリリースバージョンについては、弊社ホームページの PERFORCE ソフトウェア・ダウンロード をご覧ください。
 
応答時間が遅い理由には、サーバマシンのリソースが不適切であること以外の理由もあります。例えば、以下に示す原因で起きる、不要なデータベースのロックです。
- 効率の悪いスクリプト
- 大規模なディポに対する無制限のクライアント・ビュー、およびプロテクションの未設定
- 膨大なデータセットに対して、未熟なユーザが無意識に実行したコマンド
 
データベースがロックされている状態を除 き、すべてのPERFORCEサーバの動作は非同期かつ並列で行われています。しかし、大規模なサイトにおける開発のピーク時に、大きいデータセットに対 して実行されるユーザ要求とスクリプトの組み合わせによっては、サーバマシンで過剰なページングをはっせいさせることがあります。 大規模な操作(膨大なラベルの再作成、巨大なワークスペースでの最初の同期など)は、業務時間外に計画することをお勧めします。それが不可能であれば、弊社テクニカルサポートに連絡し、PERFORCEサーバへの大きな要求を「サイド・トラッキングする」方法をお問い合わせください。
 
チェックポイント作成時、 PERFORCEサーバのデータベースはロックされます。お使いのPERFORCEサーバのデータベースが非常に大きいことによって、チェックポイント作 成に相当な時間がかかる場合は、チェックポイント作成を業務時間外に実行してユーザが影響を受けないようにします。それが不可能であれば、弊社テクニカルサポートに連絡して、オフライン・チェックポイントの実施方法をお問い合わせください。
 
PERFORCE サーバ動作させるだけならば、ハードウェア仕様は特に問いません。しかしながら、もしPERFORCEサーバが処理の限界に近づいている場合は、SMP(対照型マルチプロセッサ)マシンにアップグレードすることを検討してください。
 
非常に複雑なワークスペース・ビューまた はブランチ・ビューを用いた場合、ある程度、処理時間がかかることがあります(例えば、10万個のファイルについて300行のブランチ・ビューをスキャン する場合、1分から2分かかることがあります)。なるべく、複雑なビューを使用しないようにしてください。 (その方がユーザの操作も容易です。)
 
p4 obliterate は、業務時間外に最後の手段としてのみ使用してください。2004.2以前のリリースでは、非常に大きいディポがあると、obliterate の処理に何時間もかかることがあり、その間ユーザがロックアウトされます。2004.2以前のサーバでは、どれほど大きいデータベース・ファイルでも、そ の全体をコマンドラインの各引数に対して一度ずつスキャンします。(『PERFORCEシステム管理者ガイド』の第7章に記述されている「一時クライアントによる手法」を使用して、obliterate のコマンドライン引数を1個に減らすことができます。)
 
2005.1以降のリリースでは、 obliterate は高速化されています。2005.1以降のサーバでは、ファイルをスキャンする代わりに、より効率的なアルゴリズムを使用してデータベース・ファイル内で 削除すべきデータを探します。リリース2005.1では、アルゴリズムの1つにおいて各クライアントに設定されたMapStateを利用するため、すべて のクライアントにMapStateを設定することによって、非常に速く obliterate が処理されます。(なお、MapStateが実装されたのはリリース2005.1まででした。2005.2以降のリリースではMapStateを必要とせ ずに最適化されているため、MapStateは2005.2以降のリリースには存在しません。)リリース2005.1では、任意のクライアントから以下の シェルコマンドを使用して、すべてのクライアントのMapStateを設定することができます。 p4 clients \ | sed 's/^Client \([^ ]*\).*$/p4 -c \1 fstat \/\/depot\/file/' \ | /bin/sh > /dev/null 2>&1

回答を閉じる

QPERFORCEは、なぜ高速なのですか?

FAQ ID:11

A
サーバ/クライアント間のTCP/IPの通信を、直接的に利用するからです。
PERFORCEでは、クライアントからサーバへアクセスする際、ネットワーク・ファイルシステム (NFS、Microsoftネットワーク等)を利用しません。 PERFORCEのサーバとクライアント間で確立した、TCP/IPのポートを直接使用して通信を行います。 したがいまして、余計なオーバヘッドが発生せず、WANのようなThin Network(細いネットワーク)上でも、 高速に動作することが可能となります。
また、高度なストリーミング・メッセージ・プロトコルにより、効率のよい通信ができるように 設計されています。

回答を閉じる

Q共通の意味を持ったリビジョンの集合に、ラベルを貼り付ける機能はありますか?

FAQ ID:10

A
あります。共通の(特定の)意味を持ったリビジョンの集合に対して、 簡単にラベルを貼り付けることができます。
しかも、対象となるファイルやリビジョンに対するファイルI/Oは行わず、 仮想的にラベルの貼り付けを行いますので、数百ファイル(リビジョン)に対する ラベル付けであっても1~2秒で完了します。

回答を閉じる

QWebインタフェースで、サーバにアクセスできますか?

FAQ ID:9

A
英語版PERFORCEでは、P4Webというクライアント・プログラムを用いることによって、 WebインタフェースでPERFORCEサーバにアクセスすることをサポートします。 残念ながら、日本語PERFORCE では未サポートとなっております。

回答を閉じる

Q個々のファイルにおけるリビジョン間の差分ではなく、ファイルセット同士の差分(例えば、リリース1.00のファイル群とリリース1.20のファイル群の間で、どのファイルが変更されているか)を表示することはできますか?

FAQ ID:7

A
できます。ある意味を持ったリビジョンの集合と別の意味を持ったリビジョンの集合とを比較して、 変更されているファイル名と、さらにその具体的な変更内容を表示することができます。
それぞれの集合のディレクトリが保持されていれば、P4Vのフォルダ差分機能によって、グラフィカルに 表示することが可能です。

回答を閉じる

Qバイナリファイルも、テキストファイルと同様にリビジョン管理の対象にできますか?

FAQ ID:5

A
できます。テキストファイルがデフォルトで差分管理されるように、バイナリファイルはデフォルトで 圧縮されリビジョン管理されます。

回答を閉じる

Q同一ファイルを、複数ユーザによって同時にチェックアウトするのを排他できますか?

FAQ ID:4

A
できます。PERFORCEのファイルタイプ機能によって、同一ファイルにおける同時チェックアウトの 抑止を、ファイル単位に設定することができます。 また、同時にチェックアウトすることを許していたとしても、ロック機能を用いることによって、 特定ユーザのチェックインを優先させるように設定することもできます。

回答を閉じる

Q同一ファイルを、複数ユーザによって同時にチェックアウト(編集のための作業状態にすること)できますか?

FAQ ID:3

A
できます。ただし、後からチェックイン(変更をディポにサブミット)するユーザは、 先にチェックインを行ったユーザの変更との間に発生している衝突を解決しなければなりません。 「他のユーザが同時に変更を行ったことによって衝突の解決が必要である」ということを、 PERFORCEがユーザに通知しますので、ユーザは安心して同時並行開発を行うことができ、 他のユーザによる変更で待たされることはありません。

回答を閉じる

QIDE(例えばVisual C++)との統合は可能ですか?

FAQ ID:2

A
英語版PERFORCEでは、以下に挙げるような代表的なIDEとの統合をサポートします。 このうち、日本語版PERFORCEでは、Microsoft Visual Studio および Microsoft Visual C++ をサポートします。

・ Microsoft Visual Studio
・ Microsoft Visual C++
・ Microsoft Visual Basic
・ Eclipse
・ WebShpere Studio

回答を閉じる

Qファイルの差分表示やマージを、GUIで実行できますか?

FAQ ID:1

A
Windows、Linux、MacOS X 環境であれば、GUI(P4V、P4Merge)で実行することができます。 残念ながら、UNIX環境で実行する日本語版GUIは提供されていません。
英語版PERFORCEでは、UNIX環境におけるGUI(P4V、P4Merge)を提供しています。

回答を閉じる