(PECL svn >= 0.1.0)
svn_status — Возвращает SVN-статус файлов и директорий рабочей копии
Возвращает SVN статус файлов и директорий рабочей копии, подвергнувшихся модификации, добавлению, удалению и прочим изменениям.
path
Локальный путь к файлу или директории для получения статуса.
Замечание: Функция вычислит относительные пути так, как если бы текущая рабочая директория была домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, пользуются функцией realpath() или dirname(__FILE__).
flags
Любая комбинация флагов Svn::NON_RECURSIVE
, Svn::ALL
(вне зависимости от статуса модификации), Svn::SHOW_UPDATES
(к записям будут добавлены пункты со старыми правками), Svn::NO_IGNORE
(игнорирование svn:ignore
свойств при сканировании новых файлов) и Svn::IGNORE_EXTERNALS
.
Возвращает пронумерованный массив, состоящий из ассоциативных массивов с подробными статусами элементов в репозитории:
Array ( [0] => Array ( ) [1] => ... )
Информация об элементе может быть получена из ассоциативного массива по двум ключам:
update
установлен в true
. Смотрите Для информации о возможных значениях, обратитесь к константам статусов. update
установлен в true
. Смотрите Для информации о возможных значениях, обратитесь к константам статусов. true
.) true
.) true
) Следующие ниже ключи устанавливаются только если элемент имеет версию:
<?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); // элемент будет удалён и добавлен
}
?>
true
.) true
.) true
.) update
.) update
.) update
.) Пример #1 Простой пример
Приведённый ниже пример иллюстрирует базовое, теоретическое использование данной функции
<?php
print_r(svn_status(realpath('wc')));
?>
Вывод приведённого примера будет похож на:
Array ( [0] => Array ( [path] => /home/bob/wc/sandwich.txt [text_status] => 8 [repos_text_status] => 1 [prop_status] => 3 [repos_prop_status] => 1 [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 ) )
Эта ЭКСПЕРИМЕНТАЛЬНАЯ функция. Поведение функции, её имя и документация, которая к относится к функции, могут измениться в следующих версиях PHP без уведомления. Функцию включают в код на свой страх и риск.