svn_status
(PECL svn >= 0.1.0)
svn_status — Returns the status of working copy files and directories
Description
$path
[, int $flags
= 0
] ) : arrayReturns 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__).
-
flags
-
Any combination of
Svn::NON_RECURSIVE
,Svn::ALL
(regardless of modification status),Svn::SHOW_UPDATES
(entries will be added for items that are out-of-date),Svn::NO_IGNORE
(disregard svn:ignore properties when scanning for new files) andSvn::IGNORE_EXTERNALS
.
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 toTRUE
. 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 toTRUE
. 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
This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk.
Examples
Example #1 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 ) )
See Also
- svn_update() - Update working copy
- svn_log() - Returns the commit log messages of a repository URL
- » SVN documentation for svn status
Vertaling niet beschikbaar
De PHP-handleiding is nog niet in het Nederlands vertaald, dus het scherm is in het Engels. Als u wilt, kunt u het ook in het Frans of in het Duits raadplegen.
Als je de moed voelt, kun je je vertaling aanbieden ;-)
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 30/01/2003 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/php-rf-svn-status.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.