org.tmatesoft.svn.core.wc2

## Class SvnDiffSummarize

- java.lang.Object
- - org.tmatesoft.svn.core.wc2.SvnOperation<T>
  - - org.tmatesoft.svn.core.wc2.SvnReceivingOperation<SvnDiffStatus>
    - - org.tmatesoft.svn.core.wc2.SvnDiffSummarize

All Implemented Interfaces:
  ISvnObjectReceiver<SvnDiffStatus>, ISvnOperationOptionsProvider

    public class SvnDiffSummarize
    extends SvnReceivingOperation<SvnDiffStatus>

Produces a diff summary which lists the changed items between `source` in its `pegRevision`, as it changed between `startRevision` and `endRevision`, or diff summary between `firstSource` at its `pegRevision` and `secondSource` at its `pegRevision`. Changes are produced without creating text deltas.

- If it is diff between `startRevision` and `endRevision` of one `source`:

  `Source` can be either working copy path or URL.

  If `pegRevision` is `invalid`, behaves identically to diff between two sources, using `source`'s path for both sources.
- If it is diff between first `source` and second `source`:

  First and second `sources` can be either working copy path or URL.

  Both `sources` must represent the same node kind -- that is, if first `source` is a directory, second `sources` must also be, and if first `sources` is a file, second `sources` must also be.

The operation may report false positives if `ignoreAncestry` is `false`, since a file might have been modified between two revisions, but still have the same contents.

If `depth` is `SVNDepth.INFINITY`, diffs fully recursively. Else if it is `SVNDepth.IMMEDIATES`, diffs the named paths and their file children (if any), and diffs properties of subdirectories, but does not descend further into the subdirectories. Else if `SVNDepth.FILES`, behaves as if for `SVNDepth.IMMEDIATES` except doesn't diff properties of subdirectories. If `SVNDepth.EMPTY`, diffs exactly the named paths but nothing underneath them.

`SvnOperation.run()` method throws `SVNException` in the following cases:

exception with `SVNErrorCode.CLIENT_BAD_REVISION` error code - if either `startRevision` or `endRevision` is `invalid`
exception with `SVNErrorCode.UNSUPPORTED_FEATURE` error code - if either of `startRevision` or endRevision is either `SVNRevision.WORKING` or `SVNRevision.BASE`

Version:
  1.7
Author:
  TMate Software Ltd.

### Constructor Summary

Constructors
`protected` `SvnDiffSummarize(SvnOperationFactory factory)`

### Method Summary

Methods
`protected void` `ensureArgumentsAreValid()`
`SVNRevision` `getEndRevision()`
`SvnTarget` `getFirstSource()`
`protected java.io.File` `getOperationalWorkingCopy()`
`SvnTarget` `getSecondSource()`
`SvnTarget` `getSource()` Gets the diff's `source` with start and end revisions for one-target type of operation.
`SVNRevision` `getStartRevision()`
`boolean` `isChangesWorkingCopy()` Gets whether the operation changes working copy
`boolean` `isIgnoreAncestry()`
`void` `setIgnoreAncestry(boolean ignoreAncestry)`
`void` `setSource(SvnTarget source, SVNRevision start, SVNRevision end)` Sets the diff's `source` with start and end revisions for one-source type of operation.
`void` `setSources(SvnTarget source1, SvnTarget source2)` Sets both diff's `sources`.

### Methods inherited from class org.tmatesoft.svn.core.wc2.SvnReceivingOperation

`first, getReceiver, initDefaults, last, receive, run, setReceiver`

### Methods inherited from class org.tmatesoft.svn.core.wc2.SvnOperation

`addTarget, cancel, ensureEnoughTargets, ensureHomohenousTargets, getApplicableChangelists, getAuthenticationManager, getCanceller, getDepth, getEventHandler, getFirstTarget, getMaximumTargetsCount, getMinimumTargetsCount, getOperationFactory, getOptions, getRepositoryPool, getRevision, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, isCancelled, isSleepForTimestamp, isUseParentWcFormat, needsHomohenousTargets, run, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SvnDiffSummarize

    protected SvnDiffSummarize(SvnOperationFactory factory)

### Method Detail

#### setSource

    public void setSource(SvnTarget source,
                 SVNRevision start,
                 SVNRevision end)

Sets the diff's `source` with start and end revisions for one-source type of operation.

Parameters:
  `source` - source of the diff
  `start` - start revision of the diff
  `end` - end revision of the diff

#### setSources

    public void setSources(SvnTarget source1,
                  SvnTarget source2)

Sets both diff's `sources`.

Parameters:
  `source1` - first source of the diff
  `source2` - second source of the diff

#### getSource

    public SvnTarget getSource()

Gets the diff's `source` with start and end revisions for one-target type of operation.

Returns:
  source of the diff

#### getStartRevision

    public SVNRevision getStartRevision()

#### getEndRevision

    public SVNRevision getEndRevision()

#### getFirstSource

    public SvnTarget getFirstSource()

#### getSecondSource

    public SvnTarget getSecondSource()

#### isIgnoreAncestry

    public boolean isIgnoreAncestry()

#### setIgnoreAncestry

    public void setIgnoreAncestry(boolean ignoreAncestry)

#### getOperationalWorkingCopy

    protected java.io.File getOperationalWorkingCopy()

Overrides:
  `getOperationalWorkingCopy` in class `SvnOperation<SvnDiffStatus>`

#### ensureArgumentsAreValid

    protected void ensureArgumentsAreValid()
                                    throws SVNException

Overrides:
  `ensureArgumentsAreValid` in class `SvnOperation<SvnDiffStatus>`
Throws:
  `SVNException`

#### isChangesWorkingCopy

    public boolean isChangesWorkingCopy()

Gets whether the operation changes working copy

Overrides:
  `isChangesWorkingCopy` in class `SvnOperation<SvnDiffStatus>`
Returns:
  `true` if the operation changes the working copy, otherwise `false`