Java JGit - 获取克隆进度百分比

时间:2016-01-05 16:19:49

标签: java git

:)

我目前有一个代码片段,用于将数据从git repo克隆到本地目录:

try (Git result = Git.cloneRepository().setURI(url).setDirectory(localPath).call()) {


        // workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=474093
        result.getRepository().close();

        }

它工作得很好,但我想向用户显示一个挥杆进度条(我知道该怎么做),它显示了收到了多少"对象的百分比"已经

我怎么可能这样做?

PS:我已经看了jgit ProgressMonitor对象,但是我找不到任何关于它们用法的教程。

1 个答案:

答案 0 :(得分:4)

调整到api可能会很头疼,特别是如果几乎没有任何记录的例子可以使用。我会将您的代码更改为以下示例:

try(
    Git result = Git.cloneRepository()
        .setProgressMonitor(new TextProgressMonitor(new PrintWriter(System.out)))
        .setURI(url)
        .setDirectory(localPath).call()
) {

// workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=474093 result.getRepository().close(); }

与任何其他api一样,使用它越频繁,它就越容易。我希望以下链接有所帮助:

http://download.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/lib/TextProgressMonitor.html

http://download.eclipse.org/jgit/docs/jgit-2.0.0.201206130900-r/apidocs/org/eclipse/jgit/lib/BatchingProgressMonitor.html

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

祝你好运。

-dag