mirror of
https://github.com/git/git.git
synced 2024-11-27 12:03:55 +08:00
f2db854d24
Even though "git fetch" has full infrastructure to parse refspecs to be fetched and match them against the list of refs to come up with the final list of refs to be fetched, the list of refs that are requested to be fetched were internally converted to a plain list of strings at the transport layer and then passed to the underlying fetch-pack driver. Stop this conversion and instead pass around an array of refs. Signed-off-by: Junio C Hamano <gitster@pobox.com>
36 lines
734 B
C
36 lines
734 B
C
#ifndef FETCH_PACK_H
|
|
#define FETCH_PACK_H
|
|
|
|
#include "string-list.h"
|
|
|
|
struct fetch_pack_args {
|
|
const char *uploadpack;
|
|
int unpacklimit;
|
|
int depth;
|
|
unsigned quiet:1,
|
|
keep_pack:1,
|
|
lock_pack:1,
|
|
use_thin_pack:1,
|
|
fetch_all:1,
|
|
stdin_refs:1,
|
|
verbose:1,
|
|
no_progress:1,
|
|
include_tag:1,
|
|
stateless_rpc:1;
|
|
};
|
|
|
|
/*
|
|
* sought represents remote references that should be updated from.
|
|
* On return, the names that were found on the remote will have been
|
|
* marked as such.
|
|
*/
|
|
struct ref *fetch_pack(struct fetch_pack_args *args,
|
|
int fd[], struct child_process *conn,
|
|
const struct ref *ref,
|
|
const char *dest,
|
|
struct ref **sought,
|
|
int nr_sought,
|
|
char **pack_lockfile);
|
|
|
|
#endif
|