(PECL svn >= 0.1.0)
svn_commit — Отправляет изменения из рабочей директории в репозиторий
Отправляет изменения в файлах локальной рабочей копии, перечисленные в массиве
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 Простой пример
Этот пример отправляет директорию calculator в репозиторий, используя имя пользователя 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. За включение функции в код отвечает программист.