svn_status
(PECL svn:0.1-0.2)
svn_status — Returns the status of working copy files and directories
Descrizione
Returns the status of working copy files and directories, giving modifications, additions, deletions and other changes to items in the working copy.
Elenco dei parametri
- path
-
Local path to file or directory to retrieve status of.
Nota: I percorsi relativi verranno risolti se la cartella di lavoro corrente è quello che contiene il binario PHP. Per usare la cartella dello script chiamante, usare realpath() o 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.
Valori restituiti
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. Consultare status constants per i possibili valori.
- repos_text_status
- Status of item's text in repository. Only accurate if update was set to TRUE. Consultare status constants per i possibili valori.
- prop_status
- Status of item's properties. Consultare status constants per i possibili valori.
- repos_prop_status
- Status of item's property in repository. Only accurate if update was set to TRUE. Consultare status constants per i possibili valori.
- 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. Consultare type constants per i possibili valori.
- 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
Note
Questa funzione è SPERIMENTALE. Ovvero, il comportamento di questa funzione, il nome di questa funzione, in definitiva tutto ciò che è documentato qui può cambiare nei futuri rilasci del PHP senza preavviso. Siete avvisati, l'uso di questa funzione è a vostro rischio.
Esempi
Example#1 Basic example
This example demonstrates a basic, theoretical usage of this function.
<?php
print_r(svn_status(realpath('wc')));
?>
Il precedente esempio visualizzerà qualcosa simile a:
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] => https://www.example.com/svnroot/deli/trunk/sandwich.txt [repos] => https://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 ) )