1

我正在使用 JGit 库来实现基本的 git 操作。

Javadoc ProgressMonitor: http: //archive.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/lib/ProgressMonitor.html

在这里,你可以看到我使用ProgressMonitorfor时的日志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;
    }
}
4

0 回答 0