(PECL svn >= 0.1.0)
svn_commit — 将修改的本地文件副本发送至版本库
提交本地文件副本的改变使用参数 targets
,使用 log
参数作为提交日志,targets
参数默认使用递归,recursive
参数设置为 false
将不使用递归。
注意: 此方法没有指定任何认证参数,用户名和密码必须使用 svn_auth_set_parameter()
log
长文本的提交日志
targets
本地文件路径数组
此参数必须是一个数组,一个单一字符串是不被接收的。
注意: 相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所在目录解析, 使用realpath() 或 dirname(__FILE__)。
recursive
布尔类型,是否禁用 targets
递归。默认值为 true
返回数组信息如下:
array( 0 => 提交版本号 1 => ISO 8601 格式的提交时间 2 => 提交者 )
失败返回 false
示例 #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' )
此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担。