JGIT浅克隆

27

我该如何做?

git clone --depth 1 ...

使用JGIT库?

2个回答

17

2
这个 bug 表明现在已经可用了。是这样吗?https://bugs.eclipse.org/bugs/show_bug.cgi?id=301627 - maxmelbin
1
有人找到了解决这个问题的方法吗? - Doug
2
嗯,截至本帖,Jgit仍不支持浅克隆。如果你和我一样想知道Jenkins插件如何提供浅选项,那么你也不会感到惊讶,听说这些家伙实现了一个抽象,当Linus Git不可用时回退到jgit。我不知道如何在jenkins之外使用它,但这是具有抽象的部分:https://github.com/jenkinsci/git-client-plugin/blob/master/src/main/java/org/jenkinsci/plugins/gitclient/CloneCommand.java。 - nelsonjchen
2
澄清@maxmelbin的评论:提到的错误是关于JGit内部的服务器实现,如果请求,服务器现在支持浅层获取(请参见注释#13)。然而,“git clone --depth”尚未实现,请参见[bug 475615:在CloneCommand中支持“git clone --depth”](https://bugs.eclipse.org/bugs/show_bug.cgi?id=475615) - Rüdiger Herrmann
在最初提出这个问题的11年后,看起来现在已经有了一个实现,在尚未发布的6.5版本中。以下是PR链接: https://git.eclipse.org/r/c/jgit/jgit/+/196477 - Marty Pitt
显示剩余3条评论

2
根据版本6.5.0的发布说明,该版本已于2023年3月15日发布。
现在您可以使用以下任何一个:
  • .setDepth(Integer)
  • .setShallowSince(Instant)
  • .setShallowSince(OffsetDateTime)
例如:
Git.cloneRepository().setDepth(1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接