bundle: move capabilities to end of 'verify'

The 'filter' capability was added in 105c6f14a (bundle: parse filter
capability, 2022-03-09), but was added in a strange place in the 'git
bundle verify' output.

The tests for this show output like the following:

	The bundle contains these 2 refs:
	<COMMIT1> <REF1>
	<COMMIT2> <REF2>
	The bundle uses this filter: blob:none
	The bundle records a complete history.

This looks very odd if we have a thin bundle that contains boundary
commits instead of a complete history:

	The bundle contains these 2 refs:
	<COMMIT1> <REF1>
	<COMMIT2> <REF2>
	The bundle uses this filter: blob:none
	The bundle requires these 2 refs:
	<COMMIT3>
	<COMMIT4>

This separation between tip refs and boundary refs is unfortunate. Move
the filter capability output to the end of the output. Update the
documentation to match.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
pull/1231/head
Derrick Stolee 6 months ago committed by Junio C Hamano
parent 831ee253b7
commit 017303eb48
  1. 10
      Documentation/git-bundle.txt
  2. 9
      bundle.c
  3. 2
      t/t6020-bundle-misc.sh

@ -75,11 +75,11 @@ verify <file>::
cleanly to the current repository. This includes checks on the
bundle format itself as well as checking that the prerequisite
commits exist and are fully linked in the current repository.
Information about additional capabilities, such as "object filter",
is printed. See "Capabilities" in link:technical/bundle-format.html
for more information. Finally, 'git bundle' prints a list of
missing commits, if any. The exit code is zero for success, but
will be nonzero if the bundle file is invalid.
Then, 'git bundle' prints a list of missing commits, if any.
Finally, information about additional capabilities, such as "object
filter", is printed. See "Capabilities" in link:technical/bundle-format.html
for more information. The exit code is zero for success, but will
be nonzero if the bundle file is invalid.
list-heads <file>::
Lists the references defined in the bundle. If followed by a

@ -267,11 +267,6 @@ int verify_bundle(struct repository *r,
(uintmax_t)r->nr);
list_refs(r, 0, NULL);
if (header->filter.choice) {
printf_ln("The bundle uses this filter: %s",
list_objects_filter_spec(&header->filter));
}
r = &header->prerequisites;
if (!r->nr) {
printf_ln(_("The bundle records a complete history."));
@ -282,6 +277,10 @@ int verify_bundle(struct repository *r,
(uintmax_t)r->nr);
list_refs(r, 0, NULL);
}
if (header->filter.choice)
printf_ln("The bundle uses this filter: %s",
list_objects_filter_spec(&header->filter));
}
return ret;
}

@ -510,8 +510,8 @@ do
<TAG-2> refs/tags/v2
<TAG-3> refs/tags/v3
<COMMIT-P> HEAD
The bundle uses this filter: $filter
The bundle records a complete history.
The bundle uses this filter: $filter
EOF
test_cmp expect actual &&

Loading…
Cancel
Save