## Uses of Interface
org.eclipse.jgit.lib.ProgressMonitor

Packages that use ProgressMonitor
org.eclipse.jgit.api: High-level API commands (the porcelain of JGit).
org.eclipse.jgit.diff: Comparing file contents by computing diffs.
org.eclipse.jgit.gitrepo
org.eclipse.jgit.internal.storage.dfs: Distributed file system based repository storage.
org.eclipse.jgit.internal.storage.file: File based repository storage.
org.eclipse.jgit.internal.storage.pack: Reading/writing Git pack files.
org.eclipse.jgit.lib: Core API for repository, config, refs, object database.
org.eclipse.jgit.transport: Transport (fetch/push) for different protocols.
org.eclipse.jgit.util: Utility classes.

### Uses of ProgressMonitor in org.eclipse.jgit.api

Methods in org.eclipse.jgit.api that return ProgressMonitor
`ProgressMonitor` PushCommand.`getProgressMonitor()`
`ProgressMonitor` FetchCommand.`getProgressMonitor()`

Methods in org.eclipse.jgit.api with parameters of type ProgressMonitor
`SubmoduleAddCommand` SubmoduleAddCommand.`setProgressMonitor(ProgressMonitor monitor)` The progress monitor associated with the clone operation.
`PushCommand` PushCommand.`setProgressMonitor(ProgressMonitor monitor)` The progress monitor associated with the push operation.
`PullCommand` PullCommand.`setProgressMonitor(ProgressMonitor monitor)`
`StatusCommand` StatusCommand.`setProgressMonitor(ProgressMonitor progressMonitor)` To set the `ProgressMonitor` which contains callback methods to inform you about the progress of this command.
`RebaseCommand` RebaseCommand.`setProgressMonitor(ProgressMonitor monitor)`
`GarbageCollectCommand` GarbageCollectCommand.`setProgressMonitor(ProgressMonitor monitor)`
`CloneCommand` CloneCommand.`setProgressMonitor(ProgressMonitor monitor)` The progress monitor associated with the clone operation.
`FetchCommand` FetchCommand.`setProgressMonitor(ProgressMonitor monitor)` The progress monitor associated with the fetch operation.
`SubmoduleUpdateCommand` SubmoduleUpdateCommand.`setProgressMonitor(ProgressMonitor monitor)` The progress monitor associated with the clone operation.
`DiffCommand` DiffCommand.`setProgressMonitor(ProgressMonitor monitor)` The progress monitor associated with the diff operation.

### Uses of ProgressMonitor in org.eclipse.jgit.diff

Methods in org.eclipse.jgit.diff with parameters of type ProgressMonitor
`List<DiffEntry>` RenameDetector.`compute(ContentSource.Pair reader, ProgressMonitor pm)` Detect renames in the current file set.
`List<DiffEntry>` RenameDetector.`compute(ObjectReader reader, ProgressMonitor pm)` Detect renames in the current file set.
`List<DiffEntry>` RenameDetector.`compute(ProgressMonitor pm)` Detect renames in the current file set.
`void` DiffFormatter.`setProgressMonitor(ProgressMonitor pm)` Set the progress monitor for long running rename detection.

### Uses of ProgressMonitor in org.eclipse.jgit.gitrepo

Methods in org.eclipse.jgit.gitrepo with parameters of type ProgressMonitor
`RepoCommand` RepoCommand.`setProgressMonitor(ProgressMonitor monitor)` The progress monitor associated with the clone operation.

### Uses of ProgressMonitor in org.eclipse.jgit.internal.storage.dfs

Methods in org.eclipse.jgit.internal.storage.dfs with parameters of type ProgressMonitor
`void` DfsPackCompactor.`compact(ProgressMonitor pm)` Compact the pack files together.
`boolean` DfsGarbageCollector.`pack(ProgressMonitor pm)` Create a single new pack file containing all of the live objects.
`PackLock` DfsPackParser.`parse(ProgressMonitor receiving, ProgressMonitor resolving)`
`void` DfsReader.`selectObjectRepresentation(PackWriter packer, ProgressMonitor monitor, Iterable<ObjectToPack> objects)`

### Uses of ProgressMonitor in org.eclipse.jgit.internal.storage.file

Methods in org.eclipse.jgit.internal.storage.file with parameters of type ProgressMonitor
`PackLock` ObjectDirectoryPackParser.`parse(ProgressMonitor receiving, ProgressMonitor resolving)`
`GC` GC.`setProgressMonitor(ProgressMonitor pm)` Set the progress monitor used for garbage collection methods.

### Uses of ProgressMonitor in org.eclipse.jgit.internal.storage.pack

Methods in org.eclipse.jgit.internal.storage.pack with parameters of type ProgressMonitor
`boolean` PackWriter.`prepareBitmapIndex(ProgressMonitor pm)` Prepares the bitmaps to be written to the pack index.
`void` PackWriter.`preparePack(ProgressMonitor countingMonitor, Collection<? extends ObjectId> want, Collection<? extends ObjectId> have)` Deprecated. to be removed in 2.0; use the Set version of this method.
`void` PackWriter.`preparePack(ProgressMonitor countingMonitor, ObjectWalk walk, Collection<? extends ObjectId> interestingObjects, Collection<? extends ObjectId> uninterestingObjects)` Deprecated. to be removed in 2.0; use the Set version of this method.
`void` PackWriter.`preparePack(ProgressMonitor countingMonitor, ObjectWalk walk, Set<? extends ObjectId> interestingObjects, Set<? extends ObjectId> uninterestingObjects)` Prepare the list of objects to be written to the pack stream.
`void` PackWriter.`preparePack(ProgressMonitor countingMonitor, Set<? extends ObjectId> want, Set<? extends ObjectId> have)` Prepare the list of objects to be written to the pack stream.
`void` ObjectReuseAsIs.`selectObjectRepresentation(PackWriter packer, ProgressMonitor monitor, Iterable<ObjectToPack> objects)` Select the best object representation for a packer.
`void` PackWriter.`writePack(ProgressMonitor compressMonitor, ProgressMonitor writeMonitor, OutputStream packStream)` Write the prepared pack to the supplied stream.

Constructors in org.eclipse.jgit.internal.storage.pack with parameters of type ProgressMonitor
Constructor and Description
`PackOutputStream(ProgressMonitor writeMonitor, OutputStream out, PackWriter pw)` Initialize a pack output stream.

### Uses of ProgressMonitor in org.eclipse.jgit.lib

Classes in org.eclipse.jgit.lib that implement ProgressMonitor
`class` `BatchingProgressMonitor` ProgressMonitor that batches update events.
`class` `EmptyProgressMonitor` A convenient base class which provides empty method bodies for all ProgressMonitor methods.
`class` `NullProgressMonitor` A NullProgressMonitor does not report progress anywhere.
`class` `TextProgressMonitor` A simple progress reporter printing on a stream.
`class` `ThreadSafeProgressMonitor` Wrapper around the general `ProgressMonitor` to make it thread safe.

Methods in org.eclipse.jgit.lib with parameters of type ProgressMonitor
`boolean` IndexDiff.`diff(ProgressMonitor monitor, int estWorkTreeSize, int estIndexSize, String title)` Run the diff operation.
`void` BatchRefUpdate.`execute(RevWalk walk, ProgressMonitor monitor)` Execute this batch update.

Constructors in org.eclipse.jgit.lib with parameters of type ProgressMonitor
Constructor and Description
`ThreadSafeProgressMonitor(ProgressMonitor pm)` Wrap a ProgressMonitor to be thread safe.

### Uses of ProgressMonitor in org.eclipse.jgit.transport

Methods in org.eclipse.jgit.transport with parameters of type ProgressMonitor
`OutputStream` AmazonS3.`beginPut(String bucket, String key, ProgressMonitor monitor, String monitorTask)` Atomically create or replace a single large object.
`protected void` BasePackFetchConnection.`doFetch(ProgressMonitor monitor, Collection<Ref> want, Set<ObjectId> have, OutputStream outputStream)` Execute common ancestor negotiation and fetch the objects.
`protected void` BasePackPushConnection.`doPush(ProgressMonitor monitor, Map<String,RemoteRefUpdate> refUpdates, OutputStream outputStream)` Push one or more objects and update the remote repository.
`void` FetchConnection.`fetch(ProgressMonitor monitor, Collection<Ref> want, Set<ObjectId> have)` Fetch objects we don't have but that are reachable from advertised refs.
`void` BasePackFetchConnection.`fetch(ProgressMonitor monitor, Collection<Ref> want, Set<ObjectId> have)`
`void` FetchConnection.`fetch(ProgressMonitor monitor, Collection<Ref> want, Set<ObjectId> have, OutputStream out)` Fetch objects we don't have but that are reachable from advertised refs.
`void` BasePackFetchConnection.`fetch(ProgressMonitor monitor, Collection<Ref> want, Set<ObjectId> have, OutputStream outputStream)`
`FetchResult` Transport.`fetch(ProgressMonitor monitor, Collection<RefSpec> toFetch)` Fetch objects and refs from the remote repository to the local one.
`PackLock` PackParser.`parse(ProgressMonitor progress)` Parse the pack stream.
`PackLock` PackParser.`parse(ProgressMonitor receiving, ProgressMonitor resolving)` Parse the pack stream.
`PushResult` Transport.`push(ProgressMonitor monitor, Collection<RemoteRefUpdate> toPush)` Push objects and refs from the local repository to the remote one.
`PushResult` Transport.`push(ProgressMonitor monitor, Collection<RemoteRefUpdate> toPush, OutputStream out)` Push objects and refs from the local repository to the remote one.
`void` PushConnection.`push(ProgressMonitor monitor, Map<String,RemoteRefUpdate> refUpdates)` Pushes to the remote repository basing on provided specification.
`void` BasePackPushConnection.`push(ProgressMonitor monitor, Map<String,RemoteRefUpdate> refUpdates)`
`void` PushConnection.`push(ProgressMonitor monitor, Map<String,RemoteRefUpdate> refUpdates, OutputStream out)` Pushes to the remote repository basing on provided specification.
`void` BasePackPushConnection.`push(ProgressMonitor monitor, Map<String,RemoteRefUpdate> refUpdates, OutputStream outputStream)`
`void` BundleWriter.`writeBundle(ProgressMonitor monitor, OutputStream os)` Generate and write the bundle to the output stream.

### Uses of ProgressMonitor in org.eclipse.jgit.util

Methods in org.eclipse.jgit.util with parameters of type ProgressMonitor
`void` TemporaryBuffer.`writeTo(OutputStream os, ProgressMonitor pm)` Send this buffer to an output stream.
`void` TemporaryBuffer.LocalFile.`writeTo(OutputStream os, ProgressMonitor pm)`