svn_commit

Sends changes from the local working copy to the repository

&reftitle.description; `array` `svn_commit` `string` `log` `array` `targets` `bool` `recursive`&true;

Commits changes made in the local working copy files enumerated in the `targets` array to the repository, with the log message `log`. Directories in the `targets` array will be recursively committed unless `recursive` is set to &false;.

This function does not have any parameters for specifying authentication, so a username and password must be set using `svn_auth_set_parameter`

&reftitle.parameters;

`log`

- String log text to commit

`targets`

- Array of local paths of files to be committed

  This parameter must be an array, a string for a single target is not acceptable.

  &svn.relativepath;

`recursive`

- Boolean flag to disable recursive committing of directories in the `targets` array. Default is &true;.

&reftitle.returnvalues;

Returns array in form of:

    array(
        0 => integer revision number of commit
        1 => string ISO 8601 date and time of commit
        2 => name of committer
    )

Returns &false; on failure.

&reftitle.examples;

### Basic example

This example commits the calculator directory to a repository, using the username Bob and the password abc123 (hopefully, his password is stronger):

    <?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'))));
    ?>

&example.outputs;

    array(
      0 => 1415,
      1 => '2007-05-26T01:44:28.453125Z',
      2 => 'Bob'
    )

&reftitle.notes; &warn.experimental.func;
&reftitle.seealso;

- `svn_auth_set_parameter`
- SVN documentation on svn commit