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:
parent
e6812cfa9a
commit
47bd9bf82d
@ -613,6 +613,7 @@ static void import_marks(char *input_file)
|
|||||||
char *line_end, *mark_end;
|
char *line_end, *mark_end;
|
||||||
unsigned char sha1[20];
|
unsigned char sha1[20];
|
||||||
struct object *object;
|
struct object *object;
|
||||||
|
struct commit *commit;
|
||||||
enum object_type type;
|
enum object_type type;
|
||||||
|
|
||||||
line_end = strchr(line, '\n');
|
line_end = strchr(line, '\n');
|
||||||
@ -636,7 +637,11 @@ static void import_marks(char *input_file)
|
|||||||
/* only commits */
|
/* only commits */
|
||||||
continue;
|
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)
|
if (object->flags & SHOWN)
|
||||||
error("Object %s already has a mark", sha1_to_hex(sha1));
|
error("Object %s already has a mark", sha1_to_hex(sha1));
|
||||||
|
Loading…
Reference in New Issue
Block a user