Создание репозитория с Objective-Git
Я пытаюсь создать Git-репозиторий, используя target-git. В документации не хватает того, как классы GT работают вместе для создания хранилища, так что я застрял.
Это то, что я работаю до сих пор:
GTRepository *newRepo = [GTRepository initializeEmptyRepositoryAtFileURL:repoURL error:&error]
Затем я копирую кучу файлов в этот каталог. Я могу открыть репозиторий в Git-клиенте и увидеть эти файлы в рабочем каталоге. Пока все выглядит хорошо. Но это то, где я застрял, каков мой следующий шаг, чтобы фактически создать ветку и зафиксировать эти файлы?
РЕДАКТИРОВАТЬ: Теперь я получил GTIndex из моего GTRepository (хотя свойство индекса fileURL по-прежнему ноль, поэтому я не уверен, как создать этот файл). Я перебираю свои файлы, вызывая addFile:error:
который создает GTIndexEntries в моем индексе. Я тогда звоню writeTree:
и вернуть GTTree, которое я передаю [repository createCommitWithTree:newTree message:@"Initial Commit" parents:nil updatingReferenceNamed:nil error:&error];
, Это возвращает действительный объект GTCommit и никакого NSError, но я ожидаю, что [repository headReferenceWithError:&error]; теперь будет возвращать ссылку на вновь созданный коммит, но он все равно возвращает ноль. Есть ли какой-то шаг, который мне не хватает, чтобы завершить этот коммит?
1 ответ
Похоже, что есть [GTReference referenceByCreatingReferenceNamed:name]
статический метод. Вот пример того, как вы его используете.