CakeFest 2024: The Official CakePHP Conference

svn_commit

(PECL svn >= 0.1.0)

svn_commitОтправляет изменения из рабочей директории в репозиторий

Описание

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

Отправляет изменения в файлах локальной рабочей копии, перечисленные в массиве 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 без уведомления. Используйте эту функцию на свой страх и риск.

Смотрите также

add a note

User Contributed Notes

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