Thread (1 message) 1 message, 1 author, 2022-10-12

Re: [PATCH v5 11/12] bundle-uri: quiet failed unbundlings

From: Junio C Hamano <hidden>
Date: 2022-10-12 16:33:02

"Derrick Stolee via GitGitGadget" [off-list ref] writes:
From: Derrick Stolee <redacted>

When downloading a list of bundles in "all" mode, Git has no
understanding of the dependencies between the bundles. Git attempts to
unbundle the bundles in some order, but some may not pass the
verify_bundle() step because of missing prerequisites. This is passed as
error messages to the user, even when they eventually succeed in later
attempts after their dependent bundles are unbundled.

Add a new VERIFY_BUNDLE_QUIET flag to verify_bundle() that avoids the
error messages from the missing prerequisite commits. The method still
returns the number of missing prerequisit commits, allowing callers to
unbundle() to notice that the bundle failed to apply.

Use this flag in bundle-uri.c and test that the messages go away for
'git clone --bundle-uri' commands.

Signed-off-by: Derrick Stolee <redacted>
---
Interesting that we ended up with <quiet, normal, verbose> verbosity
levels, but "bundle verify --verbose" does not (have to) exist, as
that is the default, and 0 (aka "normal") is no longer used to call
verify_bundle() by anybody.

I actually was wondering that with SKIP_REACHABLE gone, we would
lose the "enum verify_bundle_flags" altogether, without the need for
a new "quiet" option.  But that would not work as unbundle() calls
verify_bundle() and callers of unbundle() do not necessarily want
the verification step to squelch errors.

So looks good overall.

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help