(PECL svn >= 0.1.0)
svn_status — 作業コピー内のファイルやディレクトリの状態を返す
作業コピー内のファイルやディレクトリの状態を返します。 作業コピー内での変更、追加、削除などの内容を取得できます。
状態を取得したいファイルやディレクトリへのパス。
注意: 相対パスは、PHP バイナリが存在するディレクトリを基準として解決されます。呼び出しもとのスクリプトの作業ディレクトリを基準とするには、realpath() あるいは dirname(__FILE__) を使用してください。
SVN_NON_RECURSIVE、 SVN_ALL (変更状態にかかわらずすべて)、 SVN_SHOW_UPDATES (最新ではなくなっている項目のエントリを追加)、 SVN_NO_IGNORE (新しいファイルを検索する際に svn:ignore プロパティを無視する) および SVN_IGNORE_EXTERNALS の任意の組み合わせ。
数値添字の配列を返します。配列の各要素は連想配列となり、 リポジトリ内のアイテムの状態の詳細を表します。
Array (
    [0] => Array (
        // アイテムの情報
    )
    [1] => ...
)
アイテムの情報を表す連想配列には、以下のようなキーが含まれます。
これらのキーは、バージョン管理されているアイテムについてのみ設定されます。
<?php
if (!defined('svn_wc_schedule_normal')) {
    define('svn_wc_schedule_normal',  0); // 何も予定なし
    define('svn_wc_schedule_add',     1); // 追加予定
    define('svn_wc_schedule_delete',  2); // 削除予定
    define('svn_wc_schedule_replace', 3); // 追加・削除予定
}
?>
この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。
例1 基本的な使用例
これは、この関数の基本的な使用法を示すものです。
<?php
print_r(svn_status(realpath('wc')));
?>
上の例の出力は、 たとえば以下のようになります。
Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // アイテムが修正されました
        [repos_text_status] => 1 // 情報が存在しません。update を使用します
        [prop_status] => 3 // 変更されていません
        [repos_prop_status] => 1 // 情報が存在しません。update を使用します
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // ファイル
        [schedule] => 0 // 特別なアクションは予定されていません
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)