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_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 — 作業コピーをアップデートする