PHP 8.4.2 Released!

svn_checkout

(PECL svn >= 0.1.0)

svn_checkoutリポジトリから作業コピーをチェックアウトする

説明

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

repos にあるリポジトリの リビジョン revision を、 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
8 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