Merge branch 'rc/fetch-refetch'
"git fetch --refetch" learned to fetch everything without telling the other side what we already have, which is useful when you cannot trust what you have in the local object store. * rc/fetch-refetch: docs: mention --refetch fetch option fetch: after refetch, encourage auto gc repacking t5615-partial-clone: add test for fetch --refetch fetch: add --refetch option builtin/fetch-pack: add --refetch option fetch-pack: add refetch fetch-negotiator: add specific noop initializer
This commit is contained in:
@ -43,6 +43,7 @@ struct options {
|
||||
/* see documentation of corresponding flag in fetch-pack.h */
|
||||
from_promisor : 1,
|
||||
|
||||
refetch : 1,
|
||||
atomic : 1,
|
||||
object_format : 1,
|
||||
force_if_includes : 1;
|
||||
@ -198,6 +199,9 @@ static int set_option(const char *name, const char *value)
|
||||
} else if (!strcmp(name, "from-promisor")) {
|
||||
options.from_promisor = 1;
|
||||
return 0;
|
||||
} else if (!strcmp(name, "refetch")) {
|
||||
options.refetch = 1;
|
||||
return 0;
|
||||
} else if (!strcmp(name, "filter")) {
|
||||
options.filter = xstrdup(value);
|
||||
return 0;
|
||||
@ -1182,6 +1186,8 @@ static int fetch_git(struct discovery *heads,
|
||||
strvec_push(&args, "--deepen-relative");
|
||||
if (options.from_promisor)
|
||||
strvec_push(&args, "--from-promisor");
|
||||
if (options.refetch)
|
||||
strvec_push(&args, "--refetch");
|
||||
if (options.filter)
|
||||
strvec_pushf(&args, "--filter=%s", options.filter);
|
||||
strvec_push(&args, url.buf);
|
||||
|
Reference in New Issue
Block a user