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
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SvnDiffSummarize(SvnOperationFactory factory)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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()`
    `boolean` | `isRecurseIntoDeletedDirectories()`
    `void` | `setIgnoreAncestry(boolean ignoreAncestry)`
    `void` | `setRecurseIntoDeletedDirectories(boolean recurseIntoDeletedDirectories)`
    `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, getSqliteJournalMode, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, isCancelled, isSleepForTimestamp, isUseParentWcFormat, needsHomohenousTargets, run, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp, setSqliteJournalMode`

    - ### 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)

    - #### isRecurseIntoDeletedDirectories

          public boolean isRecurseIntoDeletedDirectories()

    - #### setRecurseIntoDeletedDirectories

          public void setRecurseIntoDeletedDirectories(boolean recurseIntoDeletedDirectories)

    - #### 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`