---
name: "SVN::Web::Diff"
section: "3pm"
platform: "linux"
package: "libsvn-web-perl"
version: "0.63-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SVN::Web::Diff"
---

# SVN::Web::Diff(3pm)

SVN::Web action to show differences between file revisions

## NAME

SVN::Web::Diff - SVN::Web action to show differences between file revisions

## SYNOPSIS

In *config.yaml*

```
  actions:
    ...
    diff:
      class: SVN::Web::Diff
    ...
```

## DESCRIPTION

Returns the difference between two revisions of the same file.

## CONFIGURATION

The following configuration options may be specified in *config.yaml*.

- max\_diff\_size

  If showing the diff (see `"show_diff"`), this determines the maximum size of the diff that will be shown.  If the size of the generated diff (in bytes) is larger than this figure then it is not shown.

  Defaults to 200,000 bytes.

## OPTIONS

- rev1

  The first revision of the file to compare.

- rev2

  The second revision of the file to compare.

- revs

  A list of two or more revisions.  If present, the smallest number in the list is assigned to `"rev1"` (overriding any given `"rev1"` value) and the largest number in the list is assigned to `"rev2"` (overriding any given `"rev2"` value).

  In other words:

  ```
      ...?rev1=5;rev2=10
  ```

  is equal to:

  ```
      ...?revs=10;revs=5
  ```

  This supports the "diff between arbitrary revisions" functionality.

- mime

  The desired output format.  The default is `"html"` for a diff marked up in HTML.  The other allowed value is `"text"`, for a plain text unified diff.

## TEMPLATE VARIABLES

- at\_head

  Boolean, indicating whether or not we're currently diffing against the youngest revision of this file.

- context

  Always `"file"`.

- rev1

  The first revision of the file to compare.  Corresponds with the `"rev1"` parameter, either set explicitly, or extracted from `"revs"`.

- rev2

  The second revision of the file to compare.  Corresponds with the `"rev2"` parameter, either set explicitly, or extracted from `"revs"`.

- diff

  An SVN::Web::DiffParser object that contains the text of the diff. Call the object's methods to format the diff.

- diff\_size

  The size of the generated diff (before parsing).

- max\_diff\_size

  The configured maximum diff size.

## EXCEPTIONS

- (cannot diff nodes of different types: %1 %2 %3)

  The given path has different node types at the different revisions. This probably means a file was added, deleted, and then re-added as a directory at a later date (or vice-versa).

- (path %1 is a directory at rev %2)

  The user has tried to diff two directories.  This is not currently supported.

- (path %1 does not exist in revision %2)

  The given path is not present in the repository at the given revision.

- (two revisions must be provided)

  No revisions were given to diff against.

- (rev1 and rev2 must be different)

  Either only one revision number was given, or several were given, but they're the same number.

## COPYRIGHT

Copyright 2003-2004 by Chia-liang Kao `"<clkao@clkao.org>"`.

Copyright 2005-2007 by Nik Clayton `"<nik@FreeBSD.org>"`.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See \<http://www.perl.com/perl/misc/Artistic.html\>
