同期

同期は、ユーザのプロジェクトからのファイルおよび、設定を使用するPerforce QACプロジェクトを生成するためにユーザのプロジェクトから情報を抽出するプロセスです。

デフォルトの設定はCCTヘッダから取得されます。これは、qacli pprops コマンドまたは、GUIを使用して上書きすることができます。

変更することができるいくつかの同期設定があります。以下に変更できる設定と典型的な値を示します。

  • INCLUDE_PATH: コンパイルラインでInclude Pathsを抽出するのに使用されるタグです。例:-I
  • DEFINE_SYMBOL: コンパイルラインでマクロ定義を抽出するのに使用されるタグです。例:-D
  • FLAG_SCRIPT: コマンドラインでIncludes Pathおよび、マクロ定義を抽出するために使用されるスクリプトへのパスです。例:

    DATA/QAC_Generic_Extract_C++/Script/extract_flags.py

  • EXCLUDE_PROCESS_PATTERN: プロセスがどのように同期から除外されるかを指定します。CSV文字列照合または、正規表現マッチングです。例:CSV または、REGEXP2
  • EXCLUDE_PROCESS : どのプロセスが同期から除外されるかを指定(上記参照)します。例:CSVでは、mv、rm。REGEXP2では\b(rm|mv)\bなど。この指定はrmまたは、mvコマンドを同期から削除します。CSVバリアントは、コマンドラインの最初の語のみ照合します。regexバージョンでは、照合に全コマンドラインを使用します。
  • FILE_FILTER : 同期から個々のファイルまたは、フォルダをフィルタリングします。文字列の照会が適用されるため、例えば、「/home/project/subproject」を指定すると、フォルダ「/home/project/-subproject」やファイル「/home/project/subproject1.cpp」が除外されます。
「同期」処理中にファイルをフィルタリングしたくない場合は、条件に合わないダミーの値を指定する必要があります。例えば、"<unused>”はCCTの値をオーバーライドしますがこの条件に合うファイルを検知することはできません。

同期設定を一覧表示する

プロジェクトの同期設定を一覧表示するには以下のコマンドを使用します。

qacli pprops --view-sync-settings -P <directory>

同期を設定する

プロジェクトの同期値を設定するには以下のコマンドを使用します。

qacli pprops -P <directory> --sync-setting <setting> --set <value> 

複数の同期を設定する

複数の設定が可能(INCLUDE_PATH、DEFINE_SYMBOL、 FILE_FILTER)なものについては、ひとつのコマンド内で複数の値をカンマで区切ることで設定することができます。

qacli pprops -P <directory> --sync-setting <setting> --set <value>,<value2> 

設定する値にカンマが含まれていると誤ったパースおよび、データ設定の原因となります。その場合は、代替の区切り文字として --separator (-x) を使用します。例:

qacli pprops -P <directory> --sync-setting <setting> --set "<value>|<value2> " –separator= "|" 

同期設定を解除する

プロジェクトの同期値を解除するには以下のコマンドを使用します。

qacli pprops -P <directory> --sync-setting <setting> --unset <value> 

上記した複数の同期設定を解除することもできます。

qacli pprops -P <directory> --sync-setting <setting> --unset <value> 

同期設定時と同じく、値にカンマが含まれている場合は、--separator (-x) を使用して代替の区切り文字を指定します。 例:

qacli pprops -P <directory> --sync-setting <setting> --unset "<value>|<value2> " –separator= "|" 

除外パターンを設定する

除外パターンモードを変更するには以下のコマンドを使用します。

qacli pprops -P <directory> --sync-setting EXCLUDE_PROCESS_PATTERN --set <value>

<value>にはCSVまたは、REGEXP2が入ります。新しい除外パターンを設定すると、EXCLUDE_PROCESS文字列が消去されます。


同期をリセットする

プロジェクトで同期設定をリセットするには以下コマンドを使用します。

qacli pprops -P <directory> --sync-setting <setting> --reset 

<setting>には、INCLUDE_PATH, DEFINE_SYMBOL, FLAG_SCRIPT、EXCLUDE_PROCESS、EXCLUDE_PROCESS_PATTERN、FILE_FILTERまたはFILE_FILTERが入ります。