This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.
svnlook is a command-line utility for examining different aspects of a Subversion repository. It does not make any changes to the repository—it's just used for “peeking.” svnlook is typically used by the repository hooks, but a repository administrator might find it useful for diagnostic purposes.
Since svnlook works via direct repository access (and thus can be used only on the machine that holds the repository), it refers to the repository with a path, not a URL.
If no revision or transaction is specified, svnlook defaults to the youngest (most recent) revision of the repository.
Options in svnlook are global, just as they are in svn and svnadmin; however, most options apply to only one subcommand since the functionality of svnlook is (intentionally) limited in scope:
svnlook Options
--copy-info
Causes svnlook changed to show detailed copy source information.
--diff-cmd
CMD
Specifies an external program to use to show differences
between files. When svnlook diff is invoked
without this option, it uses Subversion's internal differencing
engine, which provides unified diffs by default. If you want to
use an external differencing program, use
--diff-cmd
. You can then pass options to the
specified program using the --extensions
(-x
) option.
--diff-copy-from
Print differences for copied items against the copy source.
--extensions
(-x
) ARG
Specifies customizations which Subversion should make when performing difference calculations. Valid extensions include:
--ignore-space-change
(-b
)
Ignore changes in the amount of white space.
--ignore-all-space
(-w
)
Ignore all white space.
--ignore-eol-style
Ignore changes in EOL (end-of-line) style.
--show-c-function
(-p
)
Show C function names in the diff output.
--unified
(-u
)
Show three lines of unified diff context.
The default value is -u
.
Note that when Subversion is configured to invoke an
external diff command, the value of
the --extension
(-x
)
option isn't restricted to the previously mentioned
options, but may be any additional
arguments which Subversion should pass to that command.
If you wish to pass multiple arguments, you must enclose
all of them in quotes.
--full-paths
Causes svnlook tree to display full paths instead of hierarchical, indented path components.
--ignore-properties
Instructs svnlook diff to show only property changes.
--limit
(-l
) ARG
Limit output to a maximum number of
ARG
items.
--no-diff-deleted
Prevents svnlook diff from printing differences for deleted files. The default behavior when a file is deleted in a transaction/revision is to print the same differences that you would see if you had left the file but removed all the content.
--no-diff-added
Prevents svnlook diff from printing differences for added files. The default behavior when you add a file is to print the same differences that you would see if you had added the entire contents of an existing (empty) file.
--non-recursive
(-N
)
Operate on a single directory only.
--properties-only
Instructs svnlook diff to suppress output of property changes.
--revision
(-r
)
Specifies a particular revision number that you wish to examine.
--revprop
Operates on a revision property instead of a
property specific to a file or directory. This option
requires that you also pass a revision with the
--revision
(-r
)
option.
--show-inherited-props
Works with svnlook propget and svnlook proplist to display the versioned properties inherited by a path.
--transaction
(-t
)
Specifies a particular transaction ID that you wish to examine.
--show-ids
Shows the filesystem node revision IDs for each path in the filesystem tree.
--verbose
(-v
)
Be verbose. When used with svnlook proplist, for example, this causes Subversion to display not just the list of properties, but their values also.
--xml