summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2008-02-14 07:34:40 +0100
committerJunio C Hamano <gitster@pobox.com>2008-02-16 09:47:07 +0100
commit3b08e5b8c9130f57a38e51557dbb173b9edda5ba (patch)
tree7df8db9ba18bb4188fd4c33b74d591f8c76f6ca3
parentInclude annotated tags in fast-import crash reports (diff)
downloadgit-3b08e5b8c9130f57a38e51557dbb173b9edda5ba.tar.xz
git-3b08e5b8c9130f57a38e51557dbb173b9edda5ba.zip
Include the fast-import marks table in crash reports
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>
-rw-r--r--fast-import.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/fast-import.c b/fast-import.c
index 8ef607f7db..117f38c0f1 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -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());
@@ -444,6 +446,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);
fclose(rpt);