(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 изменяют без уведомления. За включение функции в код отвечает программист.