Ошибка «Неверная команда» с git_remote_connect - PullRequest
0 голосов
/ 07 мая 2018

Я на самом деле пытаюсь использовать libgit2 с C ++ для фиксации и вставки git-репозитория. Нет проблем с HTTPS, но с SSH у меня ошибка:

git_remote_connect: недопустимая команда: 'XXX' YYY / test.git '' Вы, кажется, используете ssh для клонирования URL git: //. Убедитесь, что ваш параметр конфигурации core.gitProxy и Переменная среды GIT_PROXY_COMMAND НЕ установлена ​​

После долгих исследований я наконец-то обнаружил, откуда обычно возникает моя проблема. В git_remote_connect третьим аргументом является git_remote_callbacks. Мне нужно определить полезную нагрузку в этом обратном вызове. Полезной нагрузкой должен быть git_strarray, содержащий две строки, но Я абсолютно не знаю, какую строку я должен написать . Командная оболочка? С ++ функция? Имя пользователя?

Если я не добавлю полезную нагрузку в обратные вызовы, у меня будет ошибка: "неверные пути ssh, должны быть две строки"

Я создаю полезную нагрузку:

char * str1 = "";
char * str2 = "XXX"; //The string that appear in the error message
char * astr[2]; 
astr[0] = str1;
astr[1] = str2;
git_strarray payload = {astr, 2};
push_options.callbacks.payload = &payload;

Мой вопрос: знаете ли вы, что я должен написать в двух строках полезной нагрузки?


решаемые

Я решил свою проблему: я добавил транспорт к своим обратным вызовам, поэтому это не сработало. Спасибо Карлосмн за терпение! Для libgit2 есть слабость, вы можете присоединиться к ней, если у вас есть проблемы: http://slack.libgit2.org/

...