我知道这是与此类似的:Java JGit - getting clone progress percentage
但是它不能回答我的问题,并且我没有足够的声誉来对此发表评论:)
我有JGit clone命令:
Git.cloneRepository()
.setURI(uri)
.setDirectory(Paths.get(path).toFile())
.setProgressMonitor(new TextProgressMonitor(writer))
.call();
指标正确。只是在完成时(一批)输出结果(接收对象阶段)。我想要的是查看运行时的进度(百分比),以便可以在进度栏中显示它。
我试图在我的作家中设置同花顺,但这没有帮助(也许我做错了)。似乎ProgressMonitor就是这样提供的,我对此无能为力。
git clone --progress
是我想要实现的一个很好的例子。
伙计们,请帮帮我。
答案 0 :(得分:0)
您可能需要实现自己的ProgressMonitor,TextProgressMonitor后面的BatchingProgressMonitor会延迟进度报告,并将某些更新合并为更少的输出。
interface不复杂,例如以下显示了传输的每个单个对象/文件的更新:
.setProgressMonitor(new ProgressMonitor() {
@Override
public void start(int totalTasks) {
System.out.println("Starting work on " + totalTasks + " tasks");
}
@Override
public void beginTask(String title, int totalWork) {
System.out.println("Start " + title + ": " + totalWork);
}
@Override
public void update(int completed) {
System.out.print(completed + "-");
}
@Override
public void endTask() {
System.out.println("Done");
}
@Override
public boolean isCancelled() {
return false;
}
})