pub fn receive<P: Progress, W: Write>(
    protocol: Option<Protocol>,
    url: &str,
    directory: Option<PathBuf>,
    refs_directory: Option<PathBuf>,
    wanted_refs: Vec<BString>,
    progress: P,
    ctx: Context<W>
) -> Result<()>