# svn_commit

(PECL svn >= 0.1.0)

svn_commit — 将修改的本地文件副本发送至版本库

### 说明

svn_commit(string `$log`, array `$targets`, bool `$recursive` = `true`): array

提交本地文件副本的改变使用参数 `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 发布版本中未通知就被修改。使用本函数风险自担。

### 参见

- svn_auth_set_parameter() - Sets an authentication parameter
- » 参见 svn 官方文档

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open