• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • svn_log()

    (PECL svn >= 0.1.0)

    Returns the commit log messages of a repository URL

    说明

    svn_log(string $repos_url[,int $start_revision[,int $end_revision[,int $limit= 0[,int $flags= SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY]]]]): array

    svn_log() returns the complete history of the item at the repository URL$repos_url, or the history of a specific revision if$start_revisionis set. This function is equivalent to svn log --verbose -r $start_revision $repos_url.

    参数

    $repos_url

    Repository URL of the item to retrieve log history from.

    $start_revision

    Revision number of the first log to retrieve. Use SVN_REVISION_HEAD to retrieve the log from the most recent revision.

    $end_revision

    Revision number of the last log to retrieve. Defaults to$start_revisionif specified or to SVN_REVISION_INITIAL otherwise.

    $limit

    Number of logs to retrieve.

    $flags

    Any combination of SVN_OMIT_MESSAGES,SVN_DISCOVER_CHANGED_PATHS and SVN_STOP_ON_COPY.

    返回值

    On success, this function returns an array file listing in the format of:

    [0] => Array, ordered most recent (highest) revision first
    (
        [rev] => integer revision number
        [author] => string author name
        [msg] => string log message
        [date] => string date formatted per ISO 8601, i.e. date('c')
        [paths] => Array, describing changed files
            (
                [0] => Array
                    (
                        [action] => string letter signifying change
                        [path] =>  absolute repository path of changed file
                    )
                [1] => ...
            )
    )
    [1] => ...
    Note:

    The output will always be a numerically indexed array of arrays, even when there are none or only one log message(s).

    The value ofactionis a subset of the » status output in the first column, where possible values are:

    Actions
    LetterDescription
    MItem/props was modified
    AItem was added
    DItem was deleted
    RItem was replaced

    If no changes were made to the item, an empty array is returned.

    注释

    Warning

    此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的PHP 发布版本中未通知就被修改。使用本函数风险自担。

    范例

    Example #1 svn_log() example

    <?php
    print_r( svn_log('http://www.example.com/', 23) );
    ?>
    

    以上例程的输出类似于:

    Array
    (
        [0] => Array
        (
            [rev] => 23
            [author] => 'joe'
            [msg] => 'Add cheese and salami to our sandwich.'
            [date] => '2007-04-06T16:00:27-04:00'
            [paths] => Array
                (
                    [0] => Array
                        (
                            [action] => 'M'
                            [path] =>  '/sandwich.txt'
                        )
                )
        )
    )
    

    参见

    • » SVN documentation on svn log
    Please not that using svn_log without giving revisions is much, much slower then with revisions. Examples:
    $ time php -r "svn_log('http://localhost/svn/shopadsl');"
    real  0m2.140s
    user  0m0.140s
    sys   0m0.000s
    VS
    $ time php -r "svn_log('http://localhost/svn/shopadsl', 0, 45);"
    real  0m0.063s
    user  0m0.024s
    sys   0m0.016s

    上篇:svn_import()

    下篇:svn_ls()