Как клонировать / получить репозиторий git с помощью libgit2? - PullRequest
3 голосов
/ 18 декабря 2011

Мне нужно инициализировать репозиторий git и загрузить в него последнюю версию ветки.В bash команды:

git init
git remote add -t $BRANCH -f origin $REMOTE

Я пытаюсь сделать то же самое программно с libgit2, но у меня возникают проблемы с поиском эквивалента для второй строки.Вызовы для создания удаленного устройства очевидны, но я не вижу никого, чтобы добавить его в хранилище или обработать ветку.

Возможно ли это сделать с помощью libgit2?Если нет, то есть ли библиотека, способная сделать это?

1 Ответ

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

Шаги высокого уровня, описывающие, как реализовать процесс выборки в libgit2, можно найти здесь .

Вы можете найти пример кодов, выполняющих такую ​​задачу здесь и здесь . Остерегайтесь, эти примеры могут немного не синхронизироваться по мере продвижения API.

Обратите внимание, что эти фрагменты кода будут извлекать все более новые коммиты ( ветвь является только указателем на конкретный коммит ) с определенного выше удаленного удаленного узла.

На сегодняшний день в libgit2 нет возможности выполнить проверку.

Если вам нужна дополнительная помощь, я бы порекомендовал эти два места:

  • список рассылки libgit2 (через libgit2@librelist.com)
  • средство отслеживания проблем libgit2

Обновление

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

В рамках запроса на удаление автор также позаботился о том, чтобы предоставить пользователям реализацию оформления заказа.

...