Можете ли вы использовать libgit2 для клонирования репозитория git? - PullRequest
7 голосов
/ 15 апреля 2011

Есть ли способ создать новый клон git-репо с помощью libgit2?Из руководства по использованию libgit2 (http://libgit2.github.com/api.html), различные примеры документов (http://schacon.github.com/libgit2-examples/ и т. Д.) И документации по хранилищу libgit2 api (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 ]

24 голосов
/ 18 декабря 2011

Libgit2 - , действительно - работа в процессе ... но похоже, что все движется быстро:)

Теперь можно получить данные из удаленного хранилища.Вы можете найти несколько указателей на примеры кода в этом ответе StackOverflow .

Обновление

Функция клонирования только что была 1016 * объединен в репозиторий libgit2.

5 голосов
/ 28 мая 2013

Я добавил эту функцию для связывания Python libgit2;)

Теперь вы можете клонировать и в Python.

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

Надеюсь, это поможет!

3 голосов
/ 15 апреля 2011

Нет, это еще не реализовано в libgit2.Насколько я знаю, ни один из сетевых протоколов еще не реализован в libgit2.libgit2 все еще находится в стадии разработки;это полезно для проверки работы с локальным репозиторием, но пока не для выполнения сетевых операций.На данный момент, если вы хотите выполнять сетевые операции, такие как клонирование (или даже локальное клонирование), вам нужно просто выполнить оболочку для обычного git исполняемого файла.

...