Forum und email

Subversion 関数

導入

警告

この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。

この拡張モジュールは、バージョン管理システム » Subversion (SVN) を PHP から操作するためのものです。 コマンドラインから svn をコールせずに PHP スクリプトから SVN リポジトリや作業コピーを操作することができます。

要件

この拡張モジュールを使うのに、Subversion のバイナリは不要です。しかし、この拡張モジュールをコンパイルする際には libsvn (Subversion のヘッダ) が必須となります。

インストール手順

この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » https://pecl.php.net/package/svn

./configure が SVN 関連のファイルを見つけられない場合 (Subversion が標準とは異なる場所にインストールされている場合など) は、./configure --with-svn=$USR_PATH として include/subversion-1/ フォルダの場所を指定します

この PECL 拡張モジュール用の DLL は、» PHP のダウンロード ページあるいは » https://pecl4win.php.net/ からダウンロードできます。

警告

この拡張モジュールを libsvn 1.3 でコンパイルした場合は、 Subversion 1.4 で作成した作業コピーを操作しようとすると失敗します。

リソース型

Subversion の低レベル関数 svn_fs_* は、 ローカルのファイルシステム上のリポジトリを指すリソースを私用します。 これは、svn_repos_fs() および svn_fs_revision_root() で作成します (要確認)。

リソース型は定義されていません。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

SVN_REVISON_HEAD (integer)
HEAD リビジョンを指すマジックナンバー (-1)。
svn_auth_set_parameter() で使用する定数
SVN_AUTH_PARAM_DEFAULT_USERNAME (string)
ベーシック認証で使用するデフォルトのユーザ名を表すプロパティ。
SVN_AUTH_PARAM_DEFAULT_PASSWORD (string)
ベーシック認証で使用するデフォルトのパスワードを表すプロパティ。
SVN_AUTH_PARAM_NON_INTERACTIVE (string)
SVN_AUTH_PARAM_DONT_STORE_PASSWORDS (string)
SVN_AUTH_PARAM_NO_AUTH_CACHE (string)
SVN_AUTH_PARAM_SSL_SERVER_FAILURES (string)
SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO (string)
SVN_AUTH_PARAM_CONFIG (string)
SVN_AUTH_PARAM_SERVER_GROUP (string)
SVN_AUTH_PARAM_CONFIG_DIR (string)
PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS (string)
SSL 証明書の検証エラーを無視するカスタムプロパティ。
ファイルシステムの定数
SVN_FS_CONFIG_FS_TYPE (string)
ファイルシステムの形式を決める設定キー。
SVN_FS_TYPE_BDB (string)
ファイルシステムは Berkeley-DB です。
SVN_FS_TYPE_FSFS (string)
ファイルシステムはネイティブのファイルシステムです。
予約されているプロパティの定数
SVN_PROP_REVISION_DATE (string)
svn:date
SVN_PROP_REVISION_ORIG_DATE (string)
svn:original-date
SVN_PROP_REVISION_AUTHOR (string)
svn:author
SVN_PROP_REVISION_LOG (string)
svn:log
作業コピーの状態に関する定数
svn_wc_status_none (int)
状態が存在しません。
svn_wc_status_unversioned (int)
この作業コピー内でバージョン管理されていません。
svn_wc_status_normal (int)
アイテムは存在しますが、特に何もない状態です。
svn_wc_status_added (int)
追加予約されています。
svn_wc_status_missing (int)
バージョン管理されているアイテムですが、作業コピー内に存在しません。
svn_wc_status_deleted (int)
削除予約されています。
svn_wc_status_replaced (int)
いったん削除されたあとに再度追加されました。
svn_wc_status_modified (int)
アイテム (の内容あるいはプロパティ) が変更されました。
svn_wc_status_merged (int)
ローカルでの変更内容がリポジトリの変更内容とマージされました。
svn_wc_status_conflicted (int)
ローカルでの変更内容がリポジトリでの変更内容と衝突 (conflict) しています。
svn_wc_status_ignored (int)
バージョン管理されていないアイテムですが、無視するよう設定されています。
svn_wc_status_obstructed (int)
バージョン管理されていないアイテムが、 バージョン管理下のリソースを邪魔しています。
svn_wc_status_external (int)
バージョン管理されていないパスで、 svn:externals を使用しています。
svn_wc_status_incomplete (int)
ディレクトリのエントリ一覧がありません。
ノードの種類を表す定数
svn_node_none (int)
存在しない。
svn_node_file (int)
ファイル。
svn_node_dir (int)
ディレクトリ。
svn_node_unknown (int)
Subversion が判別できない何か。

目次

  • svn_add — 作業ディレクトリ内のアイテムの追加を予約する
  • svn_auth_get_parameter — 認証パラメータを取得する
  • svn_auth_set_parameter — 認証パラメータを設定する
  • svn_cat — リポジトリ内のファイルの内容を返す
  • svn_checkout — リポジトリから作業コピーをチェックアウトする
  • svn_cleanup — 作業コピーディレクトリを再帰的にクリーンアップし、中途半端な操作を解消してロックを削除する
  • svn_client_version — SVN クライアントライブラリのバージョンを返す
  • svn_commit — 変更内容を、ローカルの作業コピーからリポジトリに送信する
  • svn_diff — ふたつのパスの差分を再帰的に取得する
  • svn_fs_abort_txn — トランザクションを中断し、成功したら true、失敗したら false を返す
  • svn_fs_apply_text — 置換に使用するストリームを作成して返す
  • svn_fs_begin_txn2 — 新しいトランザクションを作成する
  • svn_fs_change_node_prop — 成功したら true、失敗したら false を返す
  • svn_fs_check_path — 指定したリポジトリの fsroot パスにどんなアイテムが存在するかを調べる
  • svn_fs_contents_changed — コンテンツが変更されている場合に true、されていない場合に false を返す
  • svn_fs_copy — ファイルやディレクトリをコピーし、成功したら true、失敗したら false を返す
  • svn_fs_delete — ファイルやディレクトリを削除し、成功したら true、失敗したら false を返す
  • svn_fs_dir_entries — 指定したパスのディレクトリを列挙し、ディレクトリ名とファイルタイプのハッシュを返す
  • svn_fs_file_contents — 指定したバージョンの fs から、ファイルの中身を読み込むためのストリームを返す
  • svn_fs_file_length — 指定したバージョンの fs から、ファイルの長さを返す
  • svn_fs_is_dir — ディレクトリを指すパスである場合に true、それ以外の場合に false を返す
  • svn_fs_is_file — ファイルを指すパスである場合に true、それ以外の場合に false を返す
  • svn_fs_make_dir — 空のディレクトリを作成し、成功したら true、失敗したら false を返す
  • svn_fs_make_file — 空のファイルを作成し、成功したら true、失敗したら false を返す
  • svn_fs_node_created_rev — fsroot 配下のパスが作成されたリビジョンを返す
  • svn_fs_node_prop — ノードのプロパティの値を返す
  • svn_fs_props_changed — プロパティが変更されている場合に true、それ以外の場合に false を返す
  • svn_fs_revision_prop — 指定したプロパティの値を取得する
  • svn_fs_revision_root — リポジトリのルートの指定したバージョンのハンドルを取得する
  • svn_fs_txn_root — トランザクションのルートを作成して返す
  • svn_fs_youngest_rev — ファイルシステム内で一番若いリビジョン番号を返す
  • svn_import — バージョン管理されていないパスをリポジトリにインポートする
  • svn_log — 指定したリポジトリ URL のコミットログメッセージを返す
  • svn_ls — 指定したリポジトリ URL のディレクトリ内の一覧を返す (オプションでリビジョン番号も指定可能)
  • svn_repos_create — 新しい subversion リポジトリを指定したパスに作成する
  • svn_repos_fs_begin_txn_for_commit — 新しいトランザクションを作成する
  • svn_repos_fs_commit_txn — トランザクションをコミットし、新しいリビジョンを返す
  • svn_repos_fs — リポジトリ用に、ファイルシステム上のハンドルを取得する
  • svn_repos_hotcopy — repospath にあるリポジトリのホットコピーを作成し、destpath にコピーする
  • svn_repos_open — リポジトリの共有ロックをオープンする
  • svn_repos_recover — 指定したパスのリポジトリのリカバリ処理を実行する
  • svn_status — 作業コピー内のファイルやディレクトリの状態を返す
  • svn_update — 作業コピーをアップデートする