Include the fast-import marks table in crash reports
authorShawn O. Pearce <spearce@spearce.org>
Thu, 14 Feb 2008 06:34:40 +0000 (01:34 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sat, 16 Feb 2008 08:47:07 +0000 (00:47 -0800)
If fast-import was not run with --export-marks but we are crashing
the frontend application developer may still benefit from having
that information available to them.  We now include the marks table
as part of the crash report if --export-marks was not supplied on
the command line.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fast-import.c

index 8ef607f7db45d6c3dbf35cdbd1adb023ad99766c..117f38c0f1066d3c2627cea7179e0c316372a13e 100644 (file)
@@ -372,6 +372,8 @@ static void write_branch_report(FILE *rpt, struct branch *b)
        fputc('\n', rpt);
 }
 
+static void dump_marks_helper(FILE *, uintmax_t, struct mark_set *);
+
 static void write_crash_report(const char *err)
 {
        char *loc = git_path("fast_import_crash_%d", getpid());
@@ -443,6 +445,14 @@ static void write_crash_report(const char *err)
                }
        }
 
+       fputc('\n', rpt);
+       fputs("Marks\n", rpt);
+       fputs("-----\n", rpt);
+       if (mark_file)
+               fprintf(rpt, "  exported to %s\n", mark_file);
+       else
+               dump_marks_helper(rpt, 0, marks);
+
        fputc('\n', rpt);
        fputs("-------------------\n", rpt);
        fputs("END OF CRASH REPORT\n", rpt);