Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Subversion Functions : svn_status

svn_status

Returns the status of working copy files and directories (PECL svn:0.1-0.2)
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.

Parameters

path

Local path to file or directory to retrieve status of.

Note:

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.

Return Values

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

Notes

Warning:

This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Examples

Example 2501. Basic example

This example demonstrates a basic, theoretical usage of this function.

<?php
print_r
(svn_status(realpath('wc')));
?>

The above example will output something similar to:

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
   )
)


Change Language


Follow Navioo On Twitter
svn_add
svn_auth_get_parameter
svn_auth_set_parameter
svn_cat
svn_checkout
svn_cleanup
svn_client_version
svn_commit
svn_diff
svn_fs_abort_txn
svn_fs_apply_text
svn_fs_begin_txn2
svn_fs_change_node_prop
svn_fs_check_path
svn_fs_contents_changed
svn_fs_copy
svn_fs_delete
svn_fs_dir_entries
svn_fs_file_contents
svn_fs_file_length
svn_fs_is_dir
svn_fs_is_file
svn_fs_make_dir
svn_fs_make_file
svn_fs_node_created_rev
svn_fs_node_prop
svn_fs_props_changed
svn_fs_revision_prop
svn_fs_revision_root
svn_fs_txn_root
svn_fs_youngest_rev
svn_import
svn_log
svn_ls
svn_repos_create
svn_repos_fs_begin_txn_for_commit
svn_repos_fs_commit_txn
svn_repos_fs
svn_repos_hotcopy
svn_repos_open
svn_repos_recover
svn_status
svn_update
eXTReMe Tracker