Re: [PATCH v3 3/5] clone: add --bundle-uri option
- From
Derrick Stolee <derrickstolee@github.com>
- Date
- Aug 23, 2022, 14:05 UTC
- Message-ID
- <5229519b-3af2-a023-8996-43343b130722@github.com>
- In-Reply-To
- <xmqq8rngas5q.fsf@gitster.g>
On 8/22/2022 5:24 PM, Junio C Hamano wrote:
Show 25 quoted lines
> "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
>> + /*
>> + * Before fetching from the remote, download and install bundle
>> + * data from the --bundle-uri option.
>> + */
>> + if (bundle_uri) {
>> + /* At this point, we need the_repository to match the cloned repo. */
>> + repo_init(the_repository, git_dir, work_tree);
>> + if (fetch_bundle_uri(the_repository, bundle_uri))
>> + warning(_("failed to fetch objects from bundle URI '%s'"),
>> + bundle_uri);
>> + }
>
> I do not offhand know why I suddenly started seeing the issue for
> this relatively old commit I have had in my tree for at least 10
> days, but I am getting this
>
> builtin/clone.c: In function 'cmd_clone':
> builtin/clone.c:1248:17: error: ignoring return value of 'repo_init' declared with attribute 'warn_unused_result' [-Werror=unused-result]
> 1248 | repo_init(the_repository, git_dir, work_tree);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
> with the commit merged in 'seen'.Thank you for pointing this out. Here is a patch that fixes the issue from this patch:
--- >8 ---
From 6df8bc6d7ffdc1b115d85ef9550bab5dcf1811f8 Mon Sep 17 00:00:00 2001 From: Derrick Stolee <derrickstolee@github.com> Date: Tue, 23 Aug 2022 09:53:47 -0400 Subject: [PATCH] clone: warn on failure to repo_init()
The --bundle-uri option was added in 55568919616 (clone: add --bundle-uri option, 2022-08-09), but this also introduced a call to repo_init() whose return value was ignored. Fix that ignored value by warning that the bundle URI process could not continue if it failed.
Signed-off-by: Derrick Stolee <derrickstolee@github.com> --- builtin/clone.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/builtin/clone.c b/builtin/clone.c index 4463789680b..e21d42dfee5 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -1245,8 +1245,9 @@ int cmd_clone(int argc, const char **argv, const char *prefix) */ if (bundle_uri) { /* At this point, we need the_repository to match the cloned repo. */ - repo_init(the_repository, git_dir, work_tree); - if (fetch_bundle_uri(the_repository, bundle_uri)) + if (repo_init(the_repository, git_dir, work_tree)) + warning(_("failed to initialize the repo, skipping bundle URI")); + else if (fetch_bundle_uri(the_repository, bundle_uri)) warning(_("failed to fetch objects from bundle URI '%s'"), bundle_uri); }
-- 2.37.1.vfs.0.0.rebase