Package org.tmatesoft.svn.core.wc2

# Class SvnDiffSummarize

java.lang.Object
org.tmatesoft.svn.core.wc2.SvnOperation<SvnDiffStatus>
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
Description
`protected`
`SvnDiffSummarize(SvnOperationFactory factory)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`ensureArgumentsAreValid()`
`SVNRevision`
`getEndRevision()`
`SvnTarget`
`getFirstSource()`
`protected 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 Details

### SvnDiffSummarize

protected SvnDiffSummarize(SvnOperationFactory factory)

## Method Details

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