There seems to be an undocumented function svn_info (arguably the proper name for this functionality) that does almost the same as svn_status, but ignores the second parameter.
Unfortunately, neither can directly be used to just retrieve the current revision of a working copy, but a combination of svn_status and SVN_NON_RECURSIVE|SVN_ALL will work; simply perform the following command:
<?php
svn_status(ROOT, SVN_NON_RECURSIVE|SVN_ALL);
?>
Where ROOT is of course the root of the working directory you wish to examine. One of the entries will be that working directory, including its current status.svn_status
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
svn_status
Референца за `function.svn-status.php` со подобрена типографија и навигација.
svn_status
(PECL svn >= 0.1.0)
svn_status — Returns the status of working copy files and directories
= NULL
Враќа статус на датотеките и директориумите во работната копија
Параметри
path-
Враќа статус на датотеките и директориумите во работната копија, давајќи измени, додатоци, бришења и други промени на ставките во работната копија.
Забелешка: Патека до локалната работна копија. realpath() Релативните патеки ќе бидат решени како да е моменталната работна директорија онаа што ја содржи PHP бинарниот фајл. За да ја користите работната директорија на повикувачкиот скрипт, користете
flags-
Локална патека до датотека или директориум за чиј статус се бара.
Svn::NON_RECURSIVE,Svn::ALLБило која комбинација одSvn::SHOW_UPDATES(независно од статусот на модификација),Svn::NO_IGNORE(ќе се додадат записи за ставки што се застарени),svn:ignore(игнорирајSvn::IGNORE_EXTERNALS.
Вратени вредности
својства при скенирање за нови датотеки) и
Array (
[0] => Array (
// information on item
)
[1] => ...
)
Враќа нумерички индексиранa низа од асоцијативни низи што ги детализираат статусот на ставките во репозиториумот:
- path
- Информациите за ставката се асоцијативна низа што може да ги содржи следниве клучеви:
- text_status
- Низа патека до датотека/директориум на оваа ставка на локалниот датотечен систем. Се појави грешка при запишување на примените податоци во локална датотека, или грешка беше вратена на libcurl од колбек за запишување. Статус на текстот на ставката. Погледнете
- repos_text_status
-
за можни вредности.
updateбеше поставено наtrue. Погледнете Се појави грешка при запишување на примените податоци во локална датотека, или грешка беше вратена на libcurl од колбек за запишување. Статус на текстот на ставката. Погледнете - prop_status
- Статус на текстот на ставката во репозиториумот. Точно само ако Се појави грешка при запишување на примените податоци во локална датотека, или грешка беше вратена на libcurl од колбек за запишување. Статус на текстот на ставката. Погледнете
- repos_prop_status
-
Статус на својствата на ставката. Погледнете
updateбеше поставено наtrue. Погледнете Се појави грешка при запишување на примените податоци во локална датотека, или грешка беше вратена на libcurl од колбек за запишување. Статус на текстот на ставката. Погледнете - locked
-
Статус на својствата на ставката во репозиториумот. Точно само ако
true.) - copied
-
Дали ставката е заклучена или не. (Се поставува само ако
true.) - switched
-
Дали ставката е копирана (закажана за додавање со историја) или не. (Се поставува само ако
true)
Дали ставката е сменета со командата switch или не. (Се поставува само ако
- name
- Base name of item in repository.
- url
- Основно име на ставка во складиштето.
- repos
- URL на ставка во складиштето.
- revision
- Основен URL на складиштето.
- kind
- Целобројна ревизија на ставката во работната копија. Тип на ставка, т.е. датотека или директориум. Погледнете Статус на текстот на ставката. Погледнете
- schedule
-
константи за тип
<?php
if (!defined('svn_wc_schedule_normal')) {
define('svn_wc_schedule_normal', 0); // nothing special
define('svn_wc_schedule_add', 1); // item will be added
define('svn_wc_schedule_delete', 2); // item will be deleted
define('svn_wc_schedule_replace', 3); // item will be added and deleted
}
?> - deleted
-
Закажана акција за ставката, т.е. додавање или бришење. Константи за овие магични броеви не се достапни, тие можат да се емулираат со користење:
true.) - absent
-
Дали ставката е избришана, но ревизијата на родителот заостанува. (Се поставува само ако
true.) - incomplete
-
Дали ставката е отсутна, т.е. Subversion знае дека треба да има нешто таму, но го нема. (Се поставува само ако
true.) - cmt_date
-
Дали датотеката со записи за директориум е нецелосна. (Се поставува само ако
update.) - cmt_rev
-
Целобројна временска ознака на Unix од датумот на последната посветеност. (Не е под влијание на
update.) - cmt_author
-
Целобројна ревизија на последната посветеност. (Не е под влијание на
update.) - prop_time
- Автор на последната посветеност. (Не е под влијание на
- text_time
- Целобројна временска ознака на Unix од последното време на ажурирање за својства
Примери
Пример #1 Основен пример
Целобројна временска ознака на Unix од последното време на ажурирање за текст
<?php
print_r(svn_status(realpath('wc')));
?>Горниот пример ќе прикаже нешто слично на:
Array (
[0] => Array (
[path] => /home/bob/wc/sandwich.txt
[text_status] => 8 // item was modified
[repos_text_status] => 1 // no information available, use update
[prop_status] => 3 // no changes
[repos_prop_status] => 1 // no information available, use 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 // no special actions scheduled
[cmt_date] => 1165543135
[cmt_rev] => 120
[cmt_author] => Alice
[prop_time] => 1180201728
[text_time] => 1180201729
)
)
Белешки
Оваа функција е ЕКСПЕРИМЕНТАЛНАОднесувањето на оваа функција, нејзиното име и околната документација може да се променат без претходна најава во идно издание на PHP. Оваа функција треба да се користи на ваш сопствен ризик.
Види Исто така
- svn_update() - Враќа статус на датотеки и директориуми во работната копија
- svn_log() - Увезува неверзионирана патека во репозиториум
- Овој пример демонстрира основна, теоретска употреба на оваа функција.