t/helper: inline reftable_table_print()

Move `reftable_table_print()` into the "dump-reftable" helper. This
follows the same reasoning as the preceding commit.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt
2024-08-22 08:35:15 +02:00
committed by Junio C Hamano
parent ca74ef6ffb
commit 64a5b7a8ca
3 changed files with 50 additions and 52 deletions

View File

@ -61,53 +61,6 @@ done:
return err;
}
int reftable_table_print(struct reftable_table *tab) {
struct reftable_iterator it = { NULL };
struct reftable_ref_record ref = { NULL };
struct reftable_log_record log = { NULL };
uint32_t hash_id = reftable_table_hash_id(tab);
int err;
reftable_table_init_ref_iter(tab, &it);
err = reftable_iterator_seek_ref(&it, "");
if (err < 0)
return err;
while (1) {
err = reftable_iterator_next_ref(&it, &ref);
if (err > 0) {
break;
}
if (err < 0) {
return err;
}
reftable_ref_record_print(&ref, hash_id);
}
reftable_iterator_destroy(&it);
reftable_ref_record_release(&ref);
reftable_table_init_log_iter(tab, &it);
err = reftable_iterator_seek_log(&it, "");
if (err < 0)
return err;
while (1) {
err = reftable_iterator_next_log(&it, &log);
if (err > 0) {
break;
}
if (err < 0) {
return err;
}
reftable_log_record_print(&log, hash_id);
}
reftable_iterator_destroy(&it);
reftable_log_record_release(&log);
return 0;
}
uint64_t reftable_table_max_update_index(struct reftable_table *tab)
{
return tab->ops->max_update_index(tab->table_arg);

View File

@ -41,7 +41,4 @@ uint64_t reftable_table_min_update_index(struct reftable_table *tab);
int reftable_table_read_ref(struct reftable_table *tab, const char *name,
struct reftable_ref_record *ref);
/* dump table contents onto stdout for debugging */
int reftable_table_print(struct reftable_table *tab);
#endif

View File

@ -30,6 +30,54 @@ static void print_help(void)
"\n");
}
static int dump_table(struct reftable_table *tab)
{
struct reftable_iterator it = { NULL };
struct reftable_ref_record ref = { NULL };
struct reftable_log_record log = { NULL };
uint32_t hash_id = reftable_table_hash_id(tab);
int err;
reftable_table_init_ref_iter(tab, &it);
err = reftable_iterator_seek_ref(&it, "");
if (err < 0)
return err;
while (1) {
err = reftable_iterator_next_ref(&it, &ref);
if (err > 0) {
break;
}
if (err < 0) {
return err;
}
reftable_ref_record_print(&ref, hash_id);
}
reftable_iterator_destroy(&it);
reftable_ref_record_release(&ref);
reftable_table_init_log_iter(tab, &it);
err = reftable_iterator_seek_log(&it, "");
if (err < 0)
return err;
while (1) {
err = reftable_iterator_next_log(&it, &log);
if (err > 0) {
break;
}
if (err < 0) {
return err;
}
reftable_log_record_print(&log, hash_id);
}
reftable_iterator_destroy(&it);
reftable_log_record_release(&log);
return 0;
}
static int dump_stack(const char *stackdir, uint32_t hash_id)
{
struct reftable_stack *stack = NULL;
@ -43,7 +91,7 @@ static int dump_stack(const char *stackdir, uint32_t hash_id)
merged = reftable_stack_merged_table(stack);
reftable_table_from_merged_table(&table, merged);
err = reftable_table_print(&table);
err = dump_table(&table);
done:
if (stack)
reftable_stack_destroy(stack);
@ -64,7 +112,7 @@ static int dump_reftable(const char *tablename)
goto done;
reftable_table_from_reader(&tab, r);
err = reftable_table_print(&tab);
err = dump_table(&tab);
done:
reftable_reader_free(r);
return err;