diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java index 8143bc7b6..6c32e1920 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java @@ -55,8 +55,10 @@ import org.eclipse.jgit.api.errors.NoHeadException; import org.eclipse.jgit.diff.DiffEntry; import org.eclipse.jgit.diff.DiffFormatter; import org.eclipse.jgit.dircache.DirCacheIterator; +import org.eclipse.jgit.lib.NullProgressMonitor; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectReader; +import org.eclipse.jgit.lib.ProgressMonitor; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.treewalk.AbstractTreeIterator; import org.eclipse.jgit.treewalk.CanonicalTreeParser; @@ -88,6 +90,8 @@ public class DiffCommand extends GitCommand> { private String destinationPrefix; + private ProgressMonitor monitor = NullProgressMonitor.INSTANCE; + /** * @param repo */ @@ -107,6 +111,7 @@ public class DiffCommand extends GitCommand> { final DiffFormatter diffFmt = new DiffFormatter( new BufferedOutputStream(out)); diffFmt.setRepository(repo); + diffFmt.setProgressMonitor(monitor); try { if (cached) { if (oldTree == null) { @@ -247,4 +252,19 @@ public class DiffCommand extends GitCommand> { this.destinationPrefix = destinationPrefix; return this; } + + /** + * The progress monitor associated with the diff operation. By default, this + * is set to NullProgressMonitor + * + * @see NullProgressMonitor + * + * @param monitor + * a progress monitor + * @return this instance + */ + public DiffCommand setProgressMonitor(ProgressMonitor monitor) { + this.monitor = monitor; + return this; + } } \ No newline at end of file