svn_checkout

(PECL svn >= 0.1.0)

svn_checkoutПолучает рабочую копию из репозитория

Описание

svn_checkout(
    string $repos,
    string $targetpath,
    int $revision = ?,
    int $flags = 0
): bool

Получает рабочую копию с ревизией revision из репозитория repos и размещает в targetpath.

Список параметров

repos

Путь (URL) к директории, которую необходимо получить из репозитория.

targetpath

Локальный путь, куда необходимо получить рабочую копию.

Замечание: Относительные пути будут вычислены, как если бы текущая рабочая директория была домашней папкой самого PHP. Чтобы использовать рабочую директорию вызывающего скрипта, пользуются функцией realpath() или dirname(__FILE__).

revision

Номер ревизии (целое число), которую необходимо получить. По умолчанию HEAD, т.е. самая новая версия.

flags

Комбинации из констант SVN_NON_RECURSIVE и SVN_IGNORE_EXTERNALS.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Простой пример

Этот пример показывает, как получить директорию из репозитория в папку calc:

<?php
svn_checkout
('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

Выражение dirname(__FILE__) используется для преобразования из относительного пути к calc в абсолютный путь. Если calc существует, то можно использовать realpath() для получения абсолютного пути.

Примечания

Внимание

Эта функция является ЭКСПЕРИМЕНТАЛЬНОЙ. Поведение этой функции, её имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

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

add a note

User Contributed Notes 1 note

up
0
leonardodarosa23 at gmail dot com
7 years ago
For those who are trying to use this while they don't patch out the SVN_IGNORE_EXTERNALS constant that is missing, I've found the equivalent integer flag if you want to use before the official release:

if(!defined('SVN_IGNORE_EXTERNALS'))
define('SVN_IGNORE_EXTERNALS', 128);
To Top