(PECL svn >= 0.1.0)
svn_commit — 将修改的本地文件副本发送至版本库
$log
, array $targets
[, bool $recursive
= true
] )
提交本地文件副本的改变使用参数 targets
,使用 log
参数作为提交日志,targets
参数默认使用递归,recursive
参数设置为 FALSE
将不使用递归。
Note: 此方法没有指定任何认证参数,用户名和密码必须使用 svn_auth_set_parameter()
log
长文本的提交日志
targets
本地文件路径数组
此参数必须是一个数组,一个单一字符串是不被接收的。
Note: 相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所在目录解析, 使用realpath() 或 dirname(__FILE__)。
recursive
布尔类型,是否禁用 targets
递归。默认值为 TRUE
返回数组信息如下:
array( 0 => 提交版本号 1 => ISO 8601 格式的提交时间 2 => 提交者 )
失败返回 FALSE
此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。
Example #1 基本示例
这个例子是将一个计算程序目录提交到一个版本库,使用用户名为 Bob 以及密码为 abc123 (提倡可以使用强密码)
<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Log message of Bob\'s commit', array(realpath('calculator'))));
?>
以上例程会输出:
array( 0 => 1415, 1 => '2007-05-26T01:44:28.453125Z', 2 => 'Bob' )