使用libgit2 fetch命令无法获取数据

时间:2018-02-26 04:51:40

标签: c++ qt libgit2

对于这个项目,我使用libgit2。我可以创建成功的存储库克隆。我可以从命令行看到“git status”的更改,但是当我尝试从远程存储库获取更改时,我的程序不会发出任何错误,但不起作用。

bool Repository::fetchRemoteRepository(QString repos)
{
    git_repository *repo = nullptr;

    int error = git_repository_open(&repo, repos.toStdString().c_str());
    if (error < 0)
    {
        const git_error *err = giterr_last();
        mError = QString(err->message);
        git_repository_free(repo);
        return false;
    }

    git_remote *remote;

    error = git_remote_lookup(&remote, repo, "origin");
    if (error < 0)
    {
        const git_error *err = giterr_last();
        mError = QString(err->message);
        git_remote_free(remote);
        git_repository_free(repo);
        return false;
    }

    error = git_remote_fetch(remote, NULL, NULL, NULL);
    if (error < 0)
    {
        const git_error *err = giterr_last();
        mError = QString(err->message);
        git_remote_free(remote);
        git_repository_free(repo);
        return false;
    }

    git_remote_free(remote);
    git_repository_free(repo);
    return true;
}

我使用的是libgit2 0.26.0

0 个答案:

没有答案