(PECL svn >= 0.1.0)

svn_commitSends changes from the local working copy to the repository


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

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.

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



String log text to commit


Array of local paths of files to be committed


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

Note: Relative paths will be resolved as if the current working directory was the one that contains the PHP binary. To use the calling script's working directory, use realpath() or dirname(__FILE__).


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

Return Values

Returns array in form of:

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

Returns false on failure.


Example #1 Basic example

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

svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Log message of Bob\'s commit', array(realpath('calculator'))));

The above example will output:

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



This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk.

See Also

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top