libgit2:没有apply_insteadof的git_remote_create

时间:2018-05-27 03:03:17

标签: libgit2

我想使用等效的git_remote_create_anonymous 功能,但不应用insteadof url替换。 这与git_remote_create_detached类似,明确说明了这一点

/**
 * Create a remote without a connected local repo
 *
 * Create a remote with the given url in-memory. You can use this when
 * you have a URL instead of a remote's name.
 *
 * Contrasted with git_remote_create_anonymous, a detached remote
 * will not consider any repo configuration values (such as insteadof url
 * substitutions).
 *
 * @param out pointer to the new remote objects
 * @param url the remote repository's URL
 * @return 0 or an error code
 */
GIT_EXTERN(int) git_remote_create_detached(
        git_remote **out,
        const char *url);

我找不到可以解决这个问题的等效API或API组合。有什么想法吗?

动机

它的用例是绕过任何用户全局~/.gitconfig设置。例如,通常有

[url "ssh://git@github.com/"]
    insteadOf = https://github.com/

例如CircleCI uses this approach

1 个答案:

答案 0 :(得分:1)

作为记录,通过新的git_remote_create_with_opts功能和GIT_REMOTE_CREATE_SKIP_INSTEADOF标志,added to libgit2支持了此功能(尽管尚未发布)。感谢您提出建议。