From 820b9310127afe3533bb57034d6f458f5aed3e7e Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 7 Feb 2007 02:42:44 -0500 Subject: Dump all refs and marks during a checkpoint in fast-import. If the frontend asks us to checkpoint (via the explicit checkpoint command) its probably because they are afraid the current import will crash/fail/whatever and want to make sure they can pickup from the last checkpoint. To do that sort of recovery, we will need the current tip of every branch and tag available at the next startup. Signed-off-by: Shawn O. Pearce --- fast-import.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'fast-import.c') diff --git a/fast-import.c b/fast-import.c index 858df17f35..d9ed3e2f18 100644 --- a/fast-import.c +++ b/fast-import.c @@ -838,7 +838,7 @@ static void end_packfile(void) last_blob.depth = 0; } -static void checkpoint(void) +static void cycle_packfile(void) { end_packfile(); start_packfile(); @@ -931,7 +931,7 @@ static int store_object( /* This new object needs to *not* have the current pack_id. */ e->pack_id = pack_id + 1; - checkpoint(); + cycle_packfile(); /* We cannot carry a delta into the new pack. */ if (delta) { @@ -1940,8 +1940,12 @@ static void cmd_reset_branch(void) static void cmd_checkpoint(void) { - if (object_count) - checkpoint(); + if (object_count) { + cycle_packfile(); + dump_branches(); + dump_tags(); + dump_marks(); + } read_next_command(); } -- cgit v1.2.3