Hello,
question please on LFS (org.eclipse.jgit.lfs):
I’m using JGit + LFS to clone the huge LFS repo located on Bitbucket Server.
The repo size is ~3 Gb with a lot of binaries there stored as LFS files.
Cloning of such repo using JGit+LFS takes
~20 hours.
Cloning using Windows Git cmd (with LFS support) takes
~15 mins.
When I clone some non-LFS repo: the performance for Git cmd vs JGit is about the same, even for the ~1GB repo.
All the testing is done on Windows, Bitbucket repos.
I’m using “v5.12.0.202105051250-m2” tag to clone & build
JGit repo.
For JGit LFS I’m using built-in LFS command:
BuiltinLFS.register();
LfsFactory
.getInstance()
.getInstallCommand()
.call();
Git
.cloneRepository()
.setURI("ssh://<>")
.setDirectory(new
File("c:\\temp\\jgit"))
.call();
I will really appreciate if any ideas how I could speed up the clone(checkout) process for the LFS.
Few more notes please:
-
I have to use the BuiltInLFS command instead of external one due to minimize the dependencies:
the JGit is planned to be used in a standalone application which shall not rely on any user’s installed Git. -
I’m using ssh connection since http does not work; Seems like a know issue:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=535814
-
I also tried to clone the LFS repo using EGit (5.12.0.202106070339-r) – same ~20 hours result
Thanks!
-Egor