diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-02-07 02:42:44 -0500 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-02-07 02:42:44 -0500 |
commit | 820b9310127afe3533bb57034d6f458f5aed3e7e (patch) | |
tree | e579cc8fa4d21d43a6b0e20e798203231ab55aeb /fast-import.c | |
parent | c499d76849b09194434708376138952e2cac2e68 (diff) | |
download | git-820b9310127afe3533bb57034d6f458f5aed3e7e.tar.gz |
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 <spearce@spearce.org>
Diffstat (limited to 'fast-import.c')
-rw-r--r-- | fast-import.c | 12 |
1 files changed, 8 insertions, 4 deletions
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(); } |