<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <refentry xml:id="function.svn-log" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <refnamediv> <refname>svn_log</refname> <refpurpose>Returns the commit log messages of a repository URL</refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>array</type><methodname>svn_log</methodname> <methodparam><type>string</type><parameter>repos_url</parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>start_revision</parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>end_revision</parameter></methodparam> <methodparam choice="opt"><type>int</type><parameter>limit</parameter><initializer>0</initializer></methodparam> <methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY</initializer></methodparam> </methodsynopsis> <para> <function>svn_log</function> returns the complete history of the item at the repository URL <parameter>repos_url</parameter>, or the history of a specific revision if <parameter>start_revision</parameter> is set. This function is equivalent to <userinput>svn log --verbose -r $start_revision $repos_url</userinput>. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>repos_url</parameter></term> <listitem> <para> Repository URL of the item to retrieve log history from. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>start_revision</parameter></term> <listitem> <para> Revision number of the first log to retrieve. Use <constant>SVN_REVISION_HEAD</constant> to retrieve the log from the most recent revision. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>end_revision</parameter></term> <listitem> <para> Revision number of the last log to retrieve. Defaults to <parameter>start_revision</parameter> if specified or to <constant>SVN_REVISION_INITIAL</constant> otherwise. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>limit</parameter></term> <listitem> <para> Number of logs to retrieve. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>flags</parameter></term> <listitem> <para> Any combination of <constant>SVN_OMIT_MESSAGES</constant>, <constant>SVN_DISCOVER_CHANGED_PATHS</constant> and <constant>SVN_STOP_ON_COPY</constant>. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> On success, this function returns an array file listing in the format of: <screen> <![CDATA[ [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] => ... ]]> </screen> </para> <note> <para> The output will always be a numerically indexed array of arrays, even when there are none or only one log message(s). </para> </note> <para> The value of <varname>action</varname> is a subset of the <link xlink:href="&url.svn.manual.status;">status output in the first column</link>, where possible values are: </para> <table> <title>Actions</title> <tgroup cols="2"> <thead> <row> <entry>Letter</entry> <entry>Description</entry> </row> </thead> <tbody> <row> <entry>M</entry> <entry>Item/props was modified</entry> </row> <row> <entry>A</entry> <entry>Item was added</entry> </row> <row> <entry>D</entry> <entry>Item was deleted</entry> </row> <row> <entry>R</entry> <entry>Item was replaced</entry> </row> </tbody> </tgroup> </table> <para> If no changes were made to the item, an empty array is returned. </para> </refsect1> <refsect1 role="notes"> &reftitle.notes; &warn.experimental.func; </refsect1> <!-- Use when ERRORS exist <refsect1 role="errors"> &reftitle.errors; <para> When does this function throw E_* level errors, or exceptions? </para> </refsect1> --> <!-- Use when a CHANGELOG exists <refsect1 role="changelog"> &reftitle.changelog; <para> <informaltable> <tgroup cols="2"> <thead> <row> <entry>&Version;</entry> <entry>&Description;</entry> </row> </thead> <tbody> <row> <entry>Enter the PHP version of change here</entry> <entry>Description of change</entry> </row> </tbody> </tgroup> </informaltable> </para> </refsect1> --> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title><function>svn_log</function> example</title> <programlisting role="php"> <![CDATA[ <?php print_r( svn_log('http://www.example.com/', 23) ); ?> ]]> </programlisting> &example.outputs.similar; <screen> <![CDATA[ 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' ) ) ) ) ]]> </screen> </example> </para> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member> <link xlink:href="&url.svn.manual.log;"> SVN documentation on svn log </link> </member> </simplelist> </para> </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"~/.phpdoc/manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->