我正在尝试从我在 BitBucket 上的远程存储库中获取。 git_remote_fetch 返回错误消息:
there is no TLS stream available
关于如何解决这个问题的一些想法?
这是我的代码:
if(error = git_remote_fetch(remote, NULL,NULL,"fetch")!=0) {
const git_error *lastError = giterr_last();
cerr << "problem with fetch, error message : '" << lastError->message <<"'"<< endl;
}
我在尝试使用 Python 和 pygit2(这又依赖于 libgit2)从 git 存储库中提取时遇到了同样的错误。我使用的是自编译版本的 libgit2 (0.25.0)。
使用以下标志重新编译 libgit2 解决了问题:cmake -DCURL=OFF
,如 libgit2 项目的问题 #3786[1] 中所述。
根据 pygit2 文档 [2] 的完整编译过程,添加了标志:
$ wget https://github.com/libgit2/libgit2/archive/v0.25.0.tar.gz
$ tar xzf v0.25.0.tar.gz
$ cd libgit2-0.25.0/
$ cmake -DCURL=OFF .
$ make
$ sudo make install
如果之前编译过一次,请确保删除 libgit2 的构建目录,否则该标志将无效。
[1] https://github.com/libgit2/libgit2/issues/3786
[2] http://www.pygit2.org/install.html#quick-install
如果您使用操作系统的内置 libgit 版本,我建议尝试使用编译版本。
我是一名优秀的程序员,十分优秀!