Sfoglia il codice sorgente

Add setter for ProgressMonitor to StatusCommand

This is useful if Git.status() is a long running command.

Change-Id: I6bdbf347a688043d549c1f091fb4a264a6c7024e
Signed-off-by: Christian Trutz <christian.trutz@gmail.com>
Signed-off-by: Robin Stocker <robin@nibor.org>
tags/v3.1.0.201309270735-rc1
Christian Trutz 11 anni fa
parent
commit
f677b07b98

+ 20
- 1
org.eclipse.jgit/src/org/eclipse/jgit/api/StatusCommand.java Vedi File

import org.eclipse.jgit.errors.NoWorkTreeException; import org.eclipse.jgit.errors.NoWorkTreeException;
import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.IndexDiff; import org.eclipse.jgit.lib.IndexDiff;
import org.eclipse.jgit.lib.ProgressMonitor;
import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.treewalk.FileTreeIterator; import org.eclipse.jgit.treewalk.FileTreeIterator;
import org.eclipse.jgit.treewalk.WorkingTreeIterator; import org.eclipse.jgit.treewalk.WorkingTreeIterator;
public class StatusCommand extends GitCommand<Status> { public class StatusCommand extends GitCommand<Status> {
private WorkingTreeIterator workingTreeIt; private WorkingTreeIterator workingTreeIt;
private List<String> paths = null; private List<String> paths = null;
private ProgressMonitor progressMonitor = null;


/** /**
* @param repo * @param repo
IndexDiff diff = new IndexDiff(repo, Constants.HEAD, workingTreeIt); IndexDiff diff = new IndexDiff(repo, Constants.HEAD, workingTreeIt);
if (paths != null) if (paths != null)
diff.setFilter(PathFilterGroup.createFromStrings(paths)); diff.setFilter(PathFilterGroup.createFromStrings(paths));
diff.diff();
if (progressMonitor == null)
diff.diff();
else
diff.diff(progressMonitor, ProgressMonitor.UNKNOWN,
ProgressMonitor.UNKNOWN, ""); //$NON-NLS-1$
return new Status(diff); return new Status(diff);
} catch (IOException e) { } catch (IOException e) {
throw new JGitInternalException(e.getMessage(), e); throw new JGitInternalException(e.getMessage(), e);
this.workingTreeIt = workingTreeIt; this.workingTreeIt = workingTreeIt;
return this; return this;
} }

/**
* To set the {@link ProgressMonitor} which contains callback methods to
* inform you about the progress of this command.
*
* @param progressMonitor
* @return {@code this}
* @since 3.1
*/
public StatusCommand setProgressMonitor(ProgressMonitor progressMonitor) {
this.progressMonitor = progressMonitor;
return this;
}
} }

Loading…
Annulla
Salva