Рекурсивный акроним словосочетания «PHP: Hypertext Preprocessor»
Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 17143 программиста и 1834 робота. Сейчас ищут 1658 программистов ...
A Simple Example
Вернуться к: VersionControl_SVN
So you've got Subversion repository set up somewhere, and you want to take a look at what's inside with a PHP script. With the VersionControl_SVN::VersionControl_SVN_List() command, you're just a few steps away.
Reading the content of a Subversion repository
<?php
require_once 'VersionControl/SVN.php';
// Setup error handling -- always a good idea!
$svnstack = &PEAR_ErrorStack::singleton('VersionControl_SVN');
// Set up runtime options.
$options = array('fetchmode' => VERSIONCONTROL_SVN_FETCHMODE_ARRAY);
// Request list class from factory
$svn = VersionControl_SVN::factory('list', $options);
// Define any switches and aguments we may need
$switches = array('username' => 'user', 'password' => 'pass');
$args = array('svn://svn.example.com/repos/TestProject');
// Run command
if ($output = $svn->run($args, $switches)) {
print_r($output);
} else {
if (count($errs = $svnstack->getErrors())) {
foreach ($errs as $err) {
echo '<br />'.$err['message']."<br />\n";
echo "Command used: " . $err['params']['cmd'];
}
}
}
?>
If your example repository above happened to have the VersionControl_SVN source in it, your output would be something like this:
<?php
Array
(
[0] => Array
(
[name] => docs
[type] => D
)
[1] => Array
(
[name] => package.xml
[type] => F
)
[2] => Array
(
[name] => SVN.php
[type] => F
)
[3] => Array
(
[name] => SVN
[type] => D
)
[4] => Array
(
[name] => tests
[type] => D
)
)
?>
Note that in the above output, directories are flagged as type D, and files are flagged as type F.
For additional information in the output, try setting verbose to TRUE in your $options array.
Вернуться к: VersionControl_SVN