mirror of
https://github.com/git/git.git
synced 2024-12-13 11:54:56 +08:00
4ba159996f
Remove any references that are available from the remote from the sought list (rather than overwriting their names with NUL characters, as previously). Mark matching entries by writing a non-NULL pointer to string_list_item::util during the iteration, then use filter_string_list() later to filter out the entries that have been marked. Document this aspect of fetch_pack() in a comment in the header file. (More documentation is obviously still needed.) Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
37 lines
866 B
C
37 lines
866 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 contains the full names of remote references that should be
|
|
* updated from. On return, the names that were found on the remote
|
|
* will have been removed from the list. The util members of the
|
|
* string_list_items are used internally; they must be NULL on entry
|
|
* (and will be NULL on exit).
|
|
*/
|
|
struct ref *fetch_pack(struct fetch_pack_args *args,
|
|
int fd[], struct child_process *conn,
|
|
const struct ref *ref,
|
|
const char *dest,
|
|
struct string_list *sought,
|
|
char **pack_lockfile);
|
|
|
|
#endif
|