PHP.nl

svn_status

svn_status

Returns the status of working copy files and directories

array **svn_status** string $path int $flags

Returns the status of working copy files and directories, giving modifications, additions, deletions and other changes to items in the working copy.

pathLocal path to file or directory to retrieve status of.

flags Any combination of , (regardless of modification status), (entries will be added for items that are out-of-date), (disregard properties when scanning for new files) and . Svn::NON_RECURSIVE``Svn::ALL``Svn::SHOW_UPDATES``Svn::NO_IGNORE``svn:ignore``Svn::IGNORE_EXTERNALS

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:

pathString path to file/directory of this entry on local filesystem.

text_statusStatus of item's text. svn.referto.status

repos_text_status Status of item's text in repository. Only accurate if was set to true. svn.referto.status update

prop_statusStatus of item's properties. svn.referto.status

repos_prop_status Status of item's property in repository. Only accurate if was set to true. svn.referto.status update

lockedWhether or not the item is locked. (Only set if true.)

copiedWhether or not the item was copied (scheduled for addition with history). (Only set if true.)

switchedWhether or not the item was switched using the switch command. (Only set if true)

These keys are only set if the item is versioned:

nameBase name of item in repository.

urlURL of item in repository.

reposBase URL of repository.

revisionInteger revision of item in working copy.

kindType of item, i.e. file or directory. svn.referto.type

scheduleScheduled 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
}
?>

deletedWhether or not the item was deleted, but parent revision lags behind. (Only set if true.)

absentWhether or not the item is absent, that is, Subversion knows that there should be something there but there isn't. (Only set if true.)

incompleteWhether 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_timeInteger Unix timestamp of last up-to-date time for properties

text_timeInteger Unix timestamp of last up-to-date time for text

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

svn_update``svn_logSVN documentation for svn status