(PECL svn >= 0.1.0)
svn_commit — 将本地工作副本的更改发送到仓库
将本地工作副本中列在 targets
数组中的文件所做的更改提交到仓库,日志消息为 log
。除非将 recursive
设置为 false
,否则 targets
数组中的目录将被递归提交。
注意: 此函数没有任何指定身份验证的参数,因此必须使用 svn_auth_set_parameter() 设置用户名和密码。
log
要提交的字符串日志文本
targets
要提交的文件的本地路径数组
此参数必须是数组,单个目标的字符串是不可接受的。
注意: 相对路径将被解析为当前工作目录,该目录包含 PHP 二进制文件。要使用调用脚本的工作目录,请使用 realpath() 或 dirname(__FILE__)。
recursive
布尔标志,用于禁用 targets
数组中目录的递归提交。默认值为 true
。
返回形式为
array( 0 => integer revision number of commit 1 => string ISO 8601 date and time of commit 2 => name of committer )
在失败时返回 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('Bob 的提交日志消息', array(realpath('calculator'))));
?>
上面的例子将输出
array( 0 => 1415, 1 => '2007-05-26T01:44:28.453125Z', 2 => 'Bob' )
此函数为 实验性。此函数的行为、名称和相关文档可能会在 PHP 的未来版本中发生更改,恕不另行通知。使用此函数的风险自负。