Package org.eclipse.jgit.api

## Class FetchCommand

- java.lang.Object
- - org.eclipse.jgit.api.GitCommand<T>
  - - org.eclipse.jgit.api.TransportCommand<FetchCommand,​FetchResult>
    - - org.eclipse.jgit.api.FetchCommand

All Implemented Interfaces:
  `Callable<FetchResult>`

    public class FetchCommand
    extends TransportCommand<FetchCommand,​FetchResult>

A class used to execute a `Fetch` command. It has setters for all supported options and arguments of this command and a `call()` method to finally execute the command.

See Also:
  Git documentation about Fetch

### Field Summary

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

`credentialsProvider, timeout, transportConfigCallback`

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

`repo`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`FetchResult` `call()` Executes the `fetch` command with all the options and parameters collected by the setter methods of this class.
`ProgressMonitor` `getProgressMonitor()`
`List<RefSpec>` `getRefSpecs()`
`String` `getRemote()`
`int` `getTimeout()`
`boolean` `isCheckFetchedObjects()`
`boolean` `isDryRun()`
`boolean` `isRemoveDeletedRefs()`
`boolean` `isThin()`
`FetchCommand` `setCheckFetchedObjects​(boolean checkFetchedObjects)` If set to true, objects received will be checked for validity
`FetchCommand` `setDryRun​(boolean dryRun)` Sets whether the fetch operation should be a dry run
`FetchCommand` `setProgressMonitor​(ProgressMonitor monitor)` The progress monitor associated with the fetch operation.
`FetchCommand` `setRefSpecs​(List<RefSpec> specs)` The ref specs to be used in the fetch operation
`FetchCommand` `setRefSpecs​(RefSpec... specs)` The ref specs to be used in the fetch operation
`FetchCommand` `setRemote​(String remote)` The remote (uri or name) used for the fetch operation.
`FetchCommand` `setRemoveDeletedRefs​(boolean removeDeletedRefs)` If set to true, refs are removed which no longer exist in the source
`FetchCommand` `setTagOpt​(TagOpt tagOpt)` Sets the specification of annotated tag behavior during fetch
`FetchCommand` `setThin​(boolean thin)` Sets the thin-pack preference for fetch operation.

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

`configure, configure, self, setCredentialsProvider, setTimeout, setTransportConfigCallback`

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

#### FetchCommand

    protected FetchCommand​(Repository repo)

Parameters:
  `repo` -

### Method Detail

#### call

    public FetchResult call()
                     throws GitAPIException,
                            InvalidRemoteException,
                            TransportException

Executes the `fetch` command with all the options and parameters collected by the setter methods of this class. Each instance of this class should only be used for one invocation of the command (means: one call to `call()`)

Specified by:
  `call` in interface `Callable<FetchResult>`
Specified by:
  `call` in class `GitCommand<FetchResult>`
Returns:
  a `FetchResult` object representing the successful fetch result
Throws:
  `InvalidRemoteException` - when called with an invalid remote uri
  `TransportException` - when an error occurs during transport
  `GitAPIException` - or subclass thereof when an error occurs

#### setRemote

    public FetchCommand setRemote​(String remote)

The remote (uri or name) used for the fetch operation. If no remote is set, the default value of `Constants.DEFAULT_REMOTE_NAME` will be used.

Parameters:
  `remote` -
Returns:
  `this`
See Also:
  `Constants.DEFAULT_REMOTE_NAME`

#### getRemote

    public String getRemote()

Returns:
  the remote used for the remote operation

#### getTimeout

    public int getTimeout()

Returns:
  the timeout used for the fetch operation

#### isCheckFetchedObjects

    public boolean isCheckFetchedObjects()

Returns:
  whether to check received objects checked for validity

#### setCheckFetchedObjects

    public FetchCommand setCheckFetchedObjects​(boolean checkFetchedObjects)

If set to true, objects received will be checked for validity

Parameters:
  `checkFetchedObjects` -
Returns:
  `this`

#### isRemoveDeletedRefs

    public boolean isRemoveDeletedRefs()

Returns:
  whether or not to remove refs which no longer exist in the source

#### setRemoveDeletedRefs

    public FetchCommand setRemoveDeletedRefs​(boolean removeDeletedRefs)

If set to true, refs are removed which no longer exist in the source

Parameters:
  `removeDeletedRefs` -
Returns:
  `this`

#### getProgressMonitor

    public ProgressMonitor getProgressMonitor()

Returns:
  the progress monitor for the fetch operation

#### setProgressMonitor

    public FetchCommand setProgressMonitor​(ProgressMonitor monitor)

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

Parameters:
  `monitor` -
Returns:
  `this`
See Also:
  `NullProgressMonitor`

#### getRefSpecs

    public List<RefSpec> getRefSpecs()

Returns:
  the ref specs

#### setRefSpecs

    public FetchCommand setRefSpecs​(RefSpec... specs)

The ref specs to be used in the fetch operation

Parameters:
  `specs` -
Returns:
  `this`

#### setRefSpecs

    public FetchCommand setRefSpecs​(List<RefSpec> specs)

The ref specs to be used in the fetch operation

Parameters:
  `specs` -
Returns:
  `this`

#### isDryRun

    public boolean isDryRun()

Returns:
  the dry run preference for the fetch operation

#### setDryRun

    public FetchCommand setDryRun​(boolean dryRun)

Sets whether the fetch operation should be a dry run

Parameters:
  `dryRun` -
Returns:
  `this`

#### isThin

    public boolean isThin()

Returns:
  the thin-pack preference for fetch operation

#### setThin

    public FetchCommand setThin​(boolean thin)

Sets the thin-pack preference for fetch operation. Default setting is Transport.DEFAULT_FETCH_THIN

Parameters:
  `thin` -
Returns:
  `this`

#### setTagOpt

    public FetchCommand setTagOpt​(TagOpt tagOpt)

Sets the specification of annotated tag behavior during fetch

Parameters:
  `tagOpt` -
Returns:
  `this`