ConFoo 2025

svn_commit

(PECL svn >= 0.1.0)

svn_commitSends changes from the local working copy to the repository

Description

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()

Parameters

log

String log text to commit

targets

Array of local paths of files to be committed

Warning

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__).

recursive

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

Return Values

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.

Examples

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):

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

The above example will output:

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

Notes

Warning

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