# Function cargo::sources::git::fetch

source ·

    pub fn fetch(
        repo: &mut Repository,
        remote_url: &str,
        reference: &GitReference,
        gctx: &GlobalContext,
        remote_kind: RemoteKind,
    ) -> CargoResult<()>

Expand description

Attempts to fetch the given git `reference` for a Git repository.

This is the main entry for git clone/fetch. It does the followings:

- Turns `GitReference` into refspecs accordingly.
- Dispatches `git fetch` using libgit2, gitoxide, or git CLI.

The `remote_url` argument is the git remote URL where we want to fetch from.

The `remote_kind` argument is a thing for `-Zgitoxide` shallow clones at this time. It could be extended when libgit2 supports shallow clones.