你能用libgit2克隆一个git存储库吗?

时间:2011-04-15 17:27:39

标签: git libgit2

有没有办法使用libgit2创建一个git repo的新克隆?从libgit2使用指南(http://libgit2.github.com/api.html),各种示例docs(http://schacon.github.com/libgit2-examples/等)和“repository”libgit2 api docs(http://libgit2.github.com/libgit2/group__git__repository.html)和其他阅读...我只看到引用要么打开现有的git repo目录git_repository_open,要么创建一个新的git_repository_init

有什么东西显而易见我错过了吗?也许api相当于“git clone GIT-REPO-URL”是git_repository_init后跟......?

3 个答案:

答案 0 :(得分:24)

Libgit2 确实正在进行的工作......但看起来情况正在快速发展:)

现在可以从远程存储库中获取。您可以在 this StackOverflow answer 中找到一些代码示例。

更新

克隆功能刚刚 merged 进入libgit2存储库。

答案 1 :(得分:5)

我已将此功能贡献给libgit2的python绑定;)

现在你也可以在python中克隆。

repo_path = "git://github.com/libgit2/pygit2.git"
path = "/tmp/pygit2"
repo = clone_repository(repo_path, path)

希望它有所帮助!

答案 2 :(得分:3)

不,这还没有在libgit2中实现。据我所知,libgit2中还没有实现任何网络协议。 libgit2仍在进行中;它对于检查操作本地存储库很有用,但对于进行网络操作却没有用。目前,如果您想进行克隆(甚至是本地克隆)等网络操作,您将需要使用常规git可执行文件。