From 869a0eb4ebddad9ea758464526524ed06f5a13a9 Mon Sep 17 00:00:00 2001 From: Robert Coup Date: Mon, 28 Mar 2022 14:02:07 +0000 Subject: builtin/fetch-pack: add --refetch option Add a refetch option to fetch-pack to force a full fetch. Use when applying a new partial clone filter to refetch all matching objects. Signed-off-by: Robert Coup Signed-off-by: Junio C Hamano --- remote-curl.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'remote-curl.c') diff --git a/remote-curl.c b/remote-curl.c index 0dabef2dd7..fc75600d4c 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -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); -- cgit v1.2.3