Package org.eclipse.jgit.api

## Class DiffCommand

- java.lang.Object
- - org.eclipse.jgit.api.GitCommand<List<DiffEntry>>
  - - org.eclipse.jgit.api.DiffCommand

All Implemented Interfaces:
  `Callable<List<DiffEntry>>`

    public class DiffCommand
    extends GitCommand<List<DiffEntry>>

Show changes between commits, commit and working tree, etc.

See Also:
  Git documentation about diff

### Field Summary

### Fields inherited from class org.eclipse.jgit.api.GitCommand

`repo`

### Constructor Summary

Constructors
`protected` `DiffCommand​(Repository repo)`

### Method Summary

All Methods Instance Methods Concrete Methods
`List<DiffEntry>` `call()` Executes the `Diff` command with all the options and parameters collected by the setter methods (e.g.
`DiffCommand` `setCached​(boolean cached)`
`DiffCommand` `setContextLines​(int contextLines)` Set number of context lines instead of the usual three.
`DiffCommand` `setDestinationPrefix​(String destinationPrefix)` Set the given destination prefix instead of "b/".
`DiffCommand` `setNewTree​(AbstractTreeIterator newTree)`
`DiffCommand` `setOldTree​(AbstractTreeIterator oldTree)`
`DiffCommand` `setOutputStream​(OutputStream out)`
`DiffCommand` `setPathFilter​(TreeFilter pathFilter)`
`DiffCommand` `setProgressMonitor​(ProgressMonitor monitor)` The progress monitor associated with the diff operation.
`DiffCommand` `setShowNameAndStatusOnly​(boolean showNameAndStatusOnly)`
`DiffCommand` `setSourcePrefix​(String sourcePrefix)` Set the given source prefix instead of "a/".

### Methods inherited from class org.eclipse.jgit.api.GitCommand

`checkCallable, getRepository, setCallable`

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

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

### Constructor Detail

#### DiffCommand

    protected DiffCommand​(Repository repo)

Parameters:
  `repo` -

### Method Detail

#### call

    public List<DiffEntry> call()
                         throws GitAPIException

Executes the `Diff` command with all the options and parameters collected by the setter methods (e.g. `setCached(boolean)` of this class. Each instance of this class should only be used for one invocation of the command. Don't call this method twice on an instance.

Specified by:
  `call` in interface `Callable<List<DiffEntry>>`
Specified by:
  `call` in class `GitCommand<List<DiffEntry>>`
Returns:
  a DiffEntry for each path which is different
Throws:
  `GitAPIException` - or subclass thereof when an error occurs

#### setCached

    public DiffCommand setCached​(boolean cached)

Parameters:
  `cached` - whether to view the changes you staged for the next commit
Returns:
  this instance

#### setPathFilter

    public DiffCommand setPathFilter​(TreeFilter pathFilter)

Parameters:
  `pathFilter` - parameter, used to limit the diff to the named path
Returns:
  this instance

#### setOldTree

    public DiffCommand setOldTree​(AbstractTreeIterator oldTree)

Parameters:
  `oldTree` - the previous state
Returns:
  this instance

#### setNewTree

    public DiffCommand setNewTree​(AbstractTreeIterator newTree)

Parameters:
  `newTree` - the updated state
Returns:
  this instance

#### setShowNameAndStatusOnly

    public DiffCommand setShowNameAndStatusOnly​(boolean showNameAndStatusOnly)

Parameters:
  `showNameAndStatusOnly` - whether to return only names and status of changed files
Returns:
  this instance

#### setOutputStream

    public DiffCommand setOutputStream​(OutputStream out)

Parameters:
  `out` - the stream to write line data
Returns:
  this instance

#### setContextLines

    public DiffCommand setContextLines​(int contextLines)

Set number of context lines instead of the usual three.

Parameters:
  `contextLines` - the number of context lines
Returns:
  this instance

#### setSourcePrefix

    public DiffCommand setSourcePrefix​(String sourcePrefix)

Set the given source prefix instead of "a/".

Parameters:
  `sourcePrefix` - the prefix
Returns:
  this instance

#### setDestinationPrefix

    public DiffCommand setDestinationPrefix​(String destinationPrefix)

Set the given destination prefix instead of "b/".

Parameters:
  `destinationPrefix` - the prefix
Returns:
  this instance

#### setProgressMonitor

    public DiffCommand setProgressMonitor​(ProgressMonitor monitor)

The progress monitor associated with the diff operation. By default, this is set to `NullProgressMonitor`

Parameters:
  `monitor` - a progress monitor
Returns:
  this instance
See Also:
  `NullProgressMonitor`