Документация PHP
| Документация DHTML | Документация Smarty | SVG/VML Графика и JavaScript
| Документация bash |
svn_status
(PECL svn:0.1-0.2)
svn_status — Returns the status of working copy files and directories
Описание
array svn_status ( string $path [, bool $recursive [, bool $get_all [, bool $update [, bool $no_ignore ]]]] )
Returns the status of working copy files and directories, giving modifications, additions, deletions and other changes to items in the working copy.
Список параметров
- path
-
Local path to file or directory to retrieve status of.
Замечание: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).
- recursive
-
Whether or not to recursively descend into directories to retrieve status. Default is TRUE.
- get_all
-
Whether or not to return all items, regardless of modification status. Default is FALSE.
- update
-
Whether or not to return information from the server on whether or not the working copy is up-to-date (specifically, entries will be added for items that are out-of-date along with the regular modification checks). Default is FALSE.
- no_ignore
-
Whether or not to disregard svn:ignore properties when scanning for new files. Default is FALSE.
Возвращаемые значения
Returns a numerically indexed array of associative arrays detailing the status of items in the repository:
Array ( [0] => Array ( // information on item ) [1] => ... )
The information on the item is an associative array that can contain the following keys:
- path
- String path to file/directory of this entry on local filesystem.
- text_status
- Status of item's text. Refer to status constants for possible values.
- repos_text_status
- Status of item's text in repository. Only accurate if update was set to TRUE. Refer to status constants for possible values.
- prop_status
- Status of item's properties. Refer to status constants for possible values.
- repos_prop_status
- Status of item's property in repository. Only accurate if update was set to TRUE. Refer to status constants for possible values.
- locked
- Whether or not the item is locked. (Only set if TRUE.)
- copied
- Whether or not the item was copied (scheduled for addition with history). (Only set if TRUE.)
- switched
- Whether or not the item was switched using the switch command. (Only set if TRUE)
These keys are only set if the item is versioned:
- name
- Base name of item in repository.
- url
- URL of item in repository.
- repos
- Base URL of repository.
- revision
- Integer revision of item in working copy.
- kind
- Type of item, i.e. file or directory. Refer to type constants for possible values.
- schedule
-
Scheduled action for item, i.e. addition or deletion. Constants
for these magic numbers are not available, they can
be emulated by using:
<?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
- Whether or not the item was deleted, but parent revision lags behind. (Only set if TRUE.)
- absent
- Whether or not the item is absent, that is, Subversion knows that there should be something there but there isn't. (Only set if TRUE.)
- incomplete
- Whether or not the entries file for a directory is incomplete. (Only set if TRUE.)
- cmt_date
- Integer Unix timestamp of last commit date. (Unaffected by update .)
- cmt_rev
- Integer revision of last commit. (Unaffected by update .)
- cmt_author
- String author of last commit. (Unaffected by update .)
- prop_time
- Integer Unix timestamp of last up-to-date time for properties
- text_time
- Integer Unix timestamp of last up-to-date time for text
Примечания
Внимание
Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.
Примеры
Пример #1 Basic example
This example demonstrates a basic, theoretical usage of this function.
<?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 ) )
Смотрите также