fast-export: don't parse commits while reading marks file

We don't need the parsed objects at this point, merely the
information that they have marks.

Seems to be three times faster in my setup with lots of objects.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Felipe Contreras 2013-05-05 17:38:54 -05:00 коммит произвёл Junio C Hamano
Родитель e6812cfa9a
Коммит 47bd9bf82d
1 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -613,6 +613,7 @@ static void import_marks(char *input_file)
char *line_end, *mark_end;
unsigned char sha1[20];
struct object *object;
struct commit *commit;
enum object_type type;
line_end = strchr(line, '\n');
@ -636,7 +637,11 @@ static void import_marks(char *input_file)
/* only commits */
continue;
object = parse_object(sha1);
commit = lookup_commit(sha1);
if (!commit)
die("not a commit? can't happen: %s", sha1_to_hex(sha1));
object = &commit->object;
if (object->flags & SHOWN)
error("Object %s already has a mark", sha1_to_hex(sha1));