git_remote_connect总是return错
git_remote_connect always return wrong
我是 libgit2 的新手。我的问题是关于git_remote_connect
函数,这个问题困扰了我很多天。
当我使用git_remote_connect
时,它总是return错误,消息是:This transport isn't implemented. Sorry
代码看起来像:
git_remote *remote = NULL;
git_remote_load(remote, git_repo, remote_name);
// output the correctly result, just like run: git remote -v
g_message("remote user:", git_remote_name(remote)); // github-username
g_message("remote url:", git_remote_url(remote)); // git@github.com/github-username/Repo
if (git_remote_connect(remote, GIT_DIRECTION_FETCH) < 0) {
const git_error *e = giterr_last();
g_error("connect wrong!\n"
"message: %s",
e->message);
}
编译时未包含您要求 libgit2 使用的协议。为需要的任何包安装开发 package/headers 并再次编译 libgit2。 cmake 的输出会告诉你发现了什么;请参阅库的自述文件。
顺便说一句,git@github.com/github-username/Repo
是一个本地路径,它总是可用的,所以这不太可能是 libgit2 试图使用的 URL。
您应该在 CMakeLists.txt
中启用 SSH
OPTION(USE_SSH "Link with libssh2 to enable SSH support" ON)
我是 libgit2 的新手。我的问题是关于git_remote_connect
函数,这个问题困扰了我很多天。
当我使用git_remote_connect
时,它总是return错误,消息是:This transport isn't implemented. Sorry
代码看起来像:
git_remote *remote = NULL;
git_remote_load(remote, git_repo, remote_name);
// output the correctly result, just like run: git remote -v
g_message("remote user:", git_remote_name(remote)); // github-username
g_message("remote url:", git_remote_url(remote)); // git@github.com/github-username/Repo
if (git_remote_connect(remote, GIT_DIRECTION_FETCH) < 0) {
const git_error *e = giterr_last();
g_error("connect wrong!\n"
"message: %s",
e->message);
}
编译时未包含您要求 libgit2 使用的协议。为需要的任何包安装开发 package/headers 并再次编译 libgit2。 cmake 的输出会告诉你发现了什么;请参阅库的自述文件。
顺便说一句,git@github.com/github-username/Repo
是一个本地路径,它总是可用的,所以这不太可能是 libgit2 试图使用的 URL。
您应该在 CMakeLists.txt
OPTION(USE_SSH "Link with libssh2 to enable SSH support" ON)