Невозможно клонировать большие репозитории с помощью JGIT, получая усеченную ошибку packfile - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь клонировать большой репозиторий из git с использованием библиотеки JGIT. Размер файла составляет около 70 МБ. Но я получаю исключение транспорта: Packfile обрезан. Но тот же код, когда я пытался клонировать репозиторий 3 МБ, он работал нормально. Мой фрагмент кода ниже. Поскольку я перепробовал все возможные варианты, здесь вы можете найти справку о том, чего нам не хватает

  1. Git.cloneRepository ()
  2. Git.open ()

    Git git = Git.cloneRepository () .setURI («любой репозиторий размером 70 МБ. Так как это компания, которую я здесь не даю») .setDirectory (новый файл («Расположение диска C»)) .setNoCheckout (ложь) .setCredentialsProvider (новый UsernamePasswordCredentialsProvider («имя пользователя», «пароль»)) .call ();

Он должен клонировать репо в указанном каталоге с соответствующей папкой .git, в которой заголовки и источник должны быть обновлены с помощью снимка ветви / мастера, который мы клонируем. Но трассировка стека ошибок я получаю

Caused by: org.eclipse.jgit.errors.TransportException: Packfile is truncated.
    at org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:400)
    at org.eclipse.jgit.transport.TransportHttp$SmartHttpFetchConnection.doFetch(TransportHttp.java:1084)
    at org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:323)
    at org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:314)
    at org.eclipse.jgit.transport.FetchProcess.fetchObj`ects(FetchProcess.java:265)
    at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:163)
    at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:124)
    at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1271)
    at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:243)
    ... 62 more
...