t/helper: drop pack-refs wrapper
The test helper provides a "ref-store <store> pack-refs" wrapper that more or less directly invokes `refs_pack_refs()`. This helper is only used in a single test with the "PACK_REFS_PRUNE" and "PACK_REFS_ALL" flags. Both of these flags can directly be accessed via git-pack-refs(1) though via the `--all` and `--prune` flags, which makes the helper superfluous. Refactor the test to use git-pack-refs(1) instead of the test helper. Drop the now-unused test helper command. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
4ccf7060d8
commit
ed12124d4a
@ -112,25 +112,6 @@ static const char **get_store(const char **argv, struct ref_store **refs)
|
||||
return argv + 1;
|
||||
}
|
||||
|
||||
static struct flag_definition pack_flags[] = { FLAG_DEF(PACK_REFS_PRUNE),
|
||||
FLAG_DEF(PACK_REFS_ALL),
|
||||
{ NULL, 0 } };
|
||||
|
||||
static int cmd_pack_refs(struct ref_store *refs, const char **argv)
|
||||
{
|
||||
unsigned int flags = arg_flags(*argv++, "flags", pack_flags);
|
||||
static struct ref_exclusions exclusions = REF_EXCLUSIONS_INIT;
|
||||
static struct string_list included_refs = STRING_LIST_INIT_NODUP;
|
||||
struct pack_refs_opts pack_opts = { .flags = flags,
|
||||
.exclusions = &exclusions,
|
||||
.includes = &included_refs };
|
||||
|
||||
if (pack_opts.flags & PACK_REFS_ALL)
|
||||
string_list_append(pack_opts.includes, "*");
|
||||
|
||||
return refs_pack_refs(refs, &pack_opts);
|
||||
}
|
||||
|
||||
static int cmd_create_symref(struct ref_store *refs, const char **argv)
|
||||
{
|
||||
const char *refname = notnull(*argv++, "refname");
|
||||
@ -326,7 +307,6 @@ struct command {
|
||||
};
|
||||
|
||||
static struct command commands[] = {
|
||||
{ "pack-refs", cmd_pack_refs },
|
||||
{ "create-symref", cmd_create_symref },
|
||||
{ "delete-refs", cmd_delete_refs },
|
||||
{ "rename-ref", cmd_rename_ref },
|
||||
|
@ -32,11 +32,16 @@ test_expect_success 'prepare a trivial repository' '
|
||||
HEAD=$(git rev-parse --verify HEAD)
|
||||
'
|
||||
|
||||
test_expect_success 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)' '
|
||||
N=`find .git/refs -type f | wc -l` &&
|
||||
test_expect_success 'pack-refs --prune --all' '
|
||||
test_path_is_missing .git/packed-refs &&
|
||||
git pack-refs --no-prune --all &&
|
||||
test_path_is_file .git/packed-refs &&
|
||||
N=$(find .git/refs -type f | wc -l) &&
|
||||
test "$N" != 0 &&
|
||||
test-tool ref-store main pack-refs PACK_REFS_PRUNE,PACK_REFS_ALL &&
|
||||
N=`find .git/refs -type f` &&
|
||||
|
||||
git pack-refs --prune --all &&
|
||||
test_path_is_file .git/packed-refs &&
|
||||
N=$(find .git/refs -type f) &&
|
||||
test -z "$N"
|
||||
'
|
||||
|
||||
|
Reference in New Issue
Block a user