Chia-liang Kao (高嘉良) > SVK > SVK::Command::Log



Annotate this POD


New  57
Open  12
View/Report Bugs
Module Version: v2.2.3   Source  


SVK::Command::Log - Show log messages for revisions


 log PATH
 log -r N[:M] [DEPOT]PATH


 -r [--revision] ARG      : ARG (some commands also take ARG1:ARG2 range)

                          A revision argument can be one of:

                          "HEAD"       latest in repository
                          {DATE}       revision at start of the date
                          NUMBER       revision number
                          NUMBER@      interpret as remote revision number
                          NUM1:NUM2    revision range

                          Unlike other commands,  negative NUMBER has no

 -l [--limit] REV       : stop after displaying REV revisions
 -q [--quiet]           : Don't display the actual log message itself
 -x [--cross]           : track revisions copied from elsewhere
 -v [--verbose]         : print extra information
    --xml               : display the log messages in XML format
    --filter FILTER     : select revisions based on FILTER
    --output FILTER     : display logs using the given FILTER


Display the log messages and other meta-data associated with revisions.

SVK provides a flexible system allowing log messages and other revision properties to be displayed and processed in many ways. This flexibility comes through the use of "log filters." Log filters are of two types: selection and output. Selection filters determine which revisions are included in the output, while output filters determine how the information about those revisions is displayed. Here's a simple example. These two invocations produce equivalent output:

    svk log -l 5 //local/project
    svk log --filter "head 5" --output std //local/project

The "head" filter chooses only the first revisions that it encounters, in this case, the first 5 revisions. The "std" filter displays the revisions using SVK's default output format.

Selection filters can be connected together into pipelines. For example, to see the first 3 revisions with log messages containing the string 'needle', we might do this

    svk log --filter "grep needle | head 3" //local/project

That example introduced the "grep" filter. The argument for the grep filter is a valid Perl pattern (with any '|' characters as '\|' and '\' as '\\'). A revision is allowed to continue to the next stage of the pipeline if the revision's log message matches the pattern. If we wanted to search only the first 10 revisions for 'needle' we could use either of the following commands

    svk log --filter "head 10 | grep needle" //local/project
    svk log -l 10 --filter "grep needle" //local/project

You may change SVK's default output filter by setting the SVKLOGOUTPUT environment. See svk help environment for details.

Standard Filters

The following log filters are included with the standard SVK distribution:

    Selection : grep, head, author
    Output    : std, xml

For detailed documentation about any of these filters, try "perldoc SVK::Log::Filter::Name" where "Name" is "Grep", "Head", "XML", etc.. Other log filters are available from CPAN by searching for "SVK::Log::Filter". For details on writing log filters, see the documentation for the SVK::Log::Filter module.

syntax highlighting: