Я пытаюсь использовать LibGit2Sharp в бета-версии Unity 2018.2, поскольку предыдущие версии Unity не поддерживают .NET Framework 4.7.1, которая потребуется для LibGit2Sharp.
Я хотел попробовать несколько вещейи столкнулся со следующими проблемами:
, если я пытаюсь клонировать репозиторий (сначала я использовал пример на GitHub: https://github.com/libgit2/libgit2sharp/wiki/git-clone), Я получаю "LibGit2SharpException: ошибкаотправить запрос "ошибка в Unity.
Я также пытался получить информацию из рабочей копии. Я создаю Repository
с new Repository(string path)
, получаю из него RepositoryStatus
с rep.RetrieveStatus(new StatusOptions())
. Теперь, если я пытаюсь получить доступ к состоянию файлов, это вызывает сбой в Unity. Независимо от того, перебираю ли я все файлы и хочу ли вывести file.State
, или хочу получить определенный список FileStatus
из всего состояния (пример: status.Added
). Однако печать путей к файлам работает.
Выборка также не работает для меня, она выдает то же исключение, что и команда клонирования.
Я думаю, чтовторой может быть просто проблемой, но клон и выборка должны работать.
Обновление: к сожалению, я продолжаю сталкиваться с проблемами в моем проекте с libgit2sharp в Unity.Я хочу сделать коммит, теперь, если я попытаюсь перебрать StatusEntries
для размещения файлов, Unity просто падает, но иногда это работает.Воспроизвести ошибку очень сложно, и часто я получаю разные crashlog-entries
для одного и того же процесса.В последний раз, когда я пытался сегодня, ошибка была:
0x00007FFB417386CE (git2-6311e88) [c: \ projects \ libgit2sharp-nativebinaries \ libgit2 \ src \ diff_generate.c: 1352] git_diff_tree_to_index
Я создал test-repository
в своей программе, используя Github API, и клонировал это на свой компьютер, пока это работает отлично.И затем, если я создаю несколько файлов в папке и хочу сделать коммит, я сталкиваюсь с ошибкой выше.К сожалению, это одна из нескольких других проблем, и я не могу добиться успеха с моим проектом.
Я установил libgit2sharp и двоичные файлы с помощью диспетчера пакетов Nuget Visual Studio.
У кого-нибудь естьопыт работы с LibGit2Sharp и, возможно, некоторые идеи о том, что я могу делать неправильно, или почему эти вещи не работают для меня?
Обновление 2: Я все еще пытаюсь решить проблему,Теперь я несколько раз тестировал различные способы получения информации о состоянии файла в хранилище.Лучший способ сделать это в моем проекте - использовать Repository.RetrieveStatus(filePath)
, теперь, если я попробую это, он выдаст AmbiguousSpecificationException
.Может кто-нибудь объяснить, что именно это означает и как я могу избежать этого?Я также попытался принудительно оценить буквальный путь с помощью Repository.RetrieveStatus(new StatusOptions() { DisablePathSpecMatch = true });
, как рекомендовано в сообщении AmbiguousSpecificationException
, но затем Unity вылетает с error-log
в первом обновлении этого поста.