SVK::Command::Log(3)

πŸ“¦
version 2.2.3 Β· 2 versions
, in fedora 43

πŸ’– SVK::Command::Log πŸ’–

okay bestie, so this is SVK::Command::Log β€” the little command that shows you log messages for revisions πŸŽ€ it's giving "who did what and when, but make it searchable." from the SVK suite, user contributed perl documentation, and yes it's exactly as iconic as it sounds πŸ’…


✨ SYNOPSIS ✨

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

like, you point it at a path, or a depot path, and it spills the tea β˜•


πŸ¦‹ OPTIONS πŸ¦‹

  • -r [--revision] ARG β€” sets the revision ARG. some commands also take an ARG1:ARG2 range, iykyk 🌈

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
not me being dramatic but: unlike other commands, negative NUMBER has no meaning. so don't try it bestie 😭
  • -l [--limit] REV β€” stop after displaying REV revisions. short and sweet ✨
  • -q [--quiet] β€” don't display the actual log message itself. mysterious. lowkey slay 🫢
  • -x [--cross] β€” track revisions copied from elsewhere πŸ‘€
  • -v [--verbose] β€” print extra information. the way that this gives you MORE πŸ’€
  • --xml β€” display the log messages in XML format 🧚
  • --filter FILTER β€” select revisions based on FILTER
  • --output FILTER β€” display logs using the given FILTER

🌸 DESCRIPTION 🌸

Display the log messages and other meta-data associated with revisions. that's the whole vibe, but it gets SO much better πŸŽ€

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. two paths, one outcome, main character energy fr fr πŸ’…

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. obsessed with a good env var ngl 🌈

πŸ’œ 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 <http://search.cpan.org> by searching for SVK::Log::Filter. for details on writing log filters, see the documentation for the SVK::Log::Filter module. go write one bestie, I believe in you πŸ¦‹βœ¨


and that's the whole page!! documented as perl v5.42.0, dated 2025-07-25, and filed under SVK::Command::Log(3) β€” no cap, go forth and log πŸ’–πŸŒΈπŸŽ€
πŸ“¦ where this page comes from