svn_checkout

(PECL svn >= 0.1.0)

svn_checkoutChecks out a working copy from the repository

说明

bool svn_checkout ( string $repos , string $targetpath [, int $revision [, int $flags = 0 ]] )

Checks out a working copy from the repository at repos to targetpath at revision revision.

参数

repos

String URL path to directory in repository to check out.

targetpath

String local path to directory to check out in to

Note: 相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所在目录解析, 使用realpath() 或 dirname(__FILE__)。

revision

Integer revision number of repository to check out. Default is HEAD, the most recent revision.

flags

Any combination of SVN_NON_RECURSIVE and SVN_IGNORE_EXTERNALS.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

注释

Warning

此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。

范例

Example #1 Basic example

This example demonstrates how to check out a directory from a repository to a directory named calc:

<?php
svn_checkout
('http://www.example.com/svnroot/calc/trunk'dirname(__FILE__) . '/calc');
?>

The dirname(__FILE__) call is necessary in order to convert the calc relative path into an absolute one. If calc exists, you can also use realpath() to retrieve an absolute path.

参见

User Contributed Notes

leonardodarosa23 at gmail dot com 03-May-2016 03:08
For those who are trying to use this while they don't patch out the  SVN_IGNORE_EXTERNALS constant that is missing, I've found the equivalent integer flag if you want to use before the official release:

if(!defined('SVN_IGNORE_EXTERNALS'))
    define('SVN_IGNORE_EXTERNALS', 128);