Как подключиться к удаленному репо? - PullRequest
0 голосов
/ 23 января 2019

Я использую libgit2sharp и у меня рубль подключается к моему удаленному репо.

Я могу подключиться к локальному репо, но когда я пытаюсь использовать репо https://github.com/myProject/myRepo, я получаю сообщение об ошибке

LibGit2Sharp.LibGit2SharpException: failed to make directory './https:': The filename, directory name, or volume label syntax is incorrect.

Предположительно, это потому, что я не использую правильный синтаксис. Я пробовал без https://, с www. я пробовал только myProject / myRepo, но они не работают.

Вот код, о котором идет речь. PathToRepo - это путь репо, и всякий раз, когда я проверяю ветви моего репо после его создания, то есть он не подключается к удаленному репо. Репо создается без проблем, но оно просто не синхронизируется с моим репо. То есть. Я мог бы вставить какой-нибудь фиктивный путь репо, и он без проблем создастся, но просто не сработает.

 if (!Repository.IsValid(PathToRepo))
            {
                Repository.Init(PathToRepo);
            }

            repo = new Repository((PathToRepo));
            var brnch = repo.Branches.Where(x => x.FriendlyName == Branch).FirstOrDefault();
            if (brnch == null)
            {
                brnch = repo.CreateBranch(Branch);
            }
            Commands.Checkout(repo, brnch);

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Посмотрите на источник класса LibGit2Sharp.Repository, который вы используете: https://github.com/libgit2/libgit2sharp/blob/master/LibGit2Sharp/Repository.cs

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

После быстрого поиска по тому же исходному файлу я обнаружил ListRemoteReferences, в котором могут быть указаны ссылки на ваше удаленное репо, и Clone, который, вероятно, клонирует удаленное репо. (Я сам не пробовал ни одного из них).

0 голосов
/ 23 января 2019

Просто предположение, но вы можете попробовать использовать URL-адрес .git. Попробуйте что-то вроде https://github.com/torvalds/linux.git вместо https://github.com/torvalds/linux

...