svn_status
(PECL svn >= 0.1.0)
svn_status — Повертає SVN-статус файлів та директорій робочої копії
Опис
svn_status(string $path, int $flags = 0): array
Повертає SVN статус файлів і директорій робочої копії, що зазнали модифікації, додавання, видалення та інших змін.
Список параметрів
path
Локальний шлях до файлу або директорії для отримання статусу.
Зауваження: Відносні шляхи будуть обчислені, якби поточна робоча директорія була домашньою папкою самого PHP Щоб використовувати робочу директорію скрипта, що викликає, використовуйте realpath()или dirname(__FILE__
flags
Будь-яка комбінація прапорів Svn::NON_RECURSIVE
Svn::ALL
(вне зависимости от статуса модификации),Svn::SHOW_UPDATES
(до записів будуть додані пункти зі старими правками), Svn::NO_IGNORE
(игнорированиеsvn:ignore
властивостей при скануванні нових файлів) та Svn::IGNORE_EXTERNALS
Значення, що повертаються
Повертає пронумерований масив, що складається з асоціативних масивів із докладними статусами елементів у репозиторії:
Array ([ ] => Array ( // інформація про елемент ) [ ] => ... )
Інформація про елемент може бути отримана з асоціативного масиву за двома ключами:
path
Шлях до файлу/директорії у локальній файловій системі.
text_status
Код текстового статусу елемент. Дивіться Для інформації про можливі значення, зверніться до константам статусів
repos_text_status
Код текстового статусу елемента у репозиторії. Відображається якщо update
установлен в**true
**. Дивіться Для інформації про можливі значення, зверніться до константам статусів
prop_status
Код текстового статусу властивостей елемента. Дивіться Для інформації про можливі значення, зверніться до константам статусів
repos_prop_status
Код текстового статусу властивостей елемента у репозиторії. Відображається якщо update
установлен в**true
**. Дивіться Для інформації про можливі значення, зверніться до константам статусів
locked
Чи буде заблоковано елемент чи ні. (Встановлюється за true
copied
Чи буде скопійовано елемент (заплановано для додавання історії правок). (Встановлюється за true
switched
Чи буде елемент перемикання використовуючи команду перемикання. (Встановлюється за true
) .
Наступні ключі встановлюються тільки якщо елемент має версію:
name
Ім'я елемента у репозиторії.
url
URL-адреса елемента у репозиторії.
repos
URL-адреса репозиторію.
revision
Номер ревізії робочої копії.
kind
Тип елемента, тобто. файл чи директорія. Дивіться Для інформації про можливі значення, зверніться до константам типів
schedule
Заплановане дії елемента, тобто. додавання чи видалення. Константи для цих магічних чисел не доступні, вони емулюються відповідно до правила:
Loading...
deleted
Буде чи ні елемент буде видалено, але ревізія батька не збільшиться (Встановлено при true
absent
Буде чи ні елемент позначений відсутнім. Subversion буде пам'ятати, що в цьому місці щось розташоване, але не знатиме що саме. (Встановлюється за true
incomplete
Буде чи ні вміст директорії вважатися неповним. (Встановлюється за true
cmt_date
Отметка времени в формате Unix о дате последней правки (Не зависит отupdate
cmt_rev
Номер ревизии последнего обновления. (Не зависит отupdate
cmt_author
Имя автора последней правки. (Не зависит отupdate
prop_time
Позначка часу у форматі Unix про останню актуальну версію властивостей.
text_time
Позначка часу у форматі Unix про останню актуальну версію тексту.
Приклади
Приклад #1 Простий приклад
Наведений нижче приклад ілюструє базове, теоретичне використання цієї функції
Loading...
Висновок наведеного прикладу буде схожим на:
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 // file
[schedule] => 0 // не запланировано никаких действий
[cmt_date] => 1165543135
[cmt_rev] => 120
[cmt_author] => Alice
[prop_time] => 1180201728
[text_time] => 1180201729
)
)
Примітки
Увага
Ця функція є ЕКСПЕРИМЕНТАЛЬНОЇ. Поведінка цієї функції, її ім'я та документація, що до неї належить, можуть змінитися в наступних версіях PHP без повідомлення. Використовуйте цю функцію на свій страх та ризик.
Дивіться також
- svn_update() - Оновлює робочу копію
- svn_log() - Повертає коментарі до правок у репозиторії
- » SVN-документація з svn status