我正在使用 JGit 库来实现基本的 git 操作。
Javadoc ProgressMonitor
:
http: //archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/lib/ProgressMonitor.html
在这里,你可以看到我使用ProgressMonitor
for时的日志git clone
(最后实现):
- 日志开始
- 总任务:2
- 任务开始:远程:枚举对象的总工作量:0
- 任务开始:远程:计算总工作量的对象:56
- 任务开始:远程:压缩对象总工作量:46
- 任务开始:接收总工作量的对象:56
- 任务结束:接收对象
- 任务开始:解决总工作量的增量:1
- 任务结束:解决增量
- 任务开始:签出文件的总工作量:23
- 任务结束:签出文件
- 日志结束
现在的问题:
根据方法start
,有 2 个任务,但方法beginTask
报告 6 个任务开始,方法endTask
报告 3 个任务结束......有人可以向我解释这个魔法吗?克隆过程本身已成功完成。
下面你可以看到ProgressMonitor
写入日志的方法的实现。
import org.eclipse.jgit.lib.ProgressMonitor;
public class MyProgressMonitor implements ProgressMonitor {
String currentTaskTitle;
@Override
public void start(int totalTasks) {
System.out.println("Total tasks: " + totalTasks);
}
@Override
public void beginTask(String title, int totalWork) {
currentTaskTitle = title;
System.out.println("Task started: " + title + " with total work: " + totalWork);
}
@Override
public void update(int completed) {
}
@Override
public void endTask() {
System.out.println("Task ended: " + currentTaskTitle);
}
@Override
public boolean isCancelled() {
return false;
}
}