Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
fast-export: don't parse commits while reading marks file
author
Felipe Contreras
<felipe.contreras@gmail.com>
Sun, 5 May 2013 22:38:54 +0000
(17:38 -0500)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 7 May 2013 14:03:01 +0000
(07:03 -0700)
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>
builtin/fast-export.c
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(parent:
e6812cf
)
diff --git
a/builtin/fast-export.c
b/builtin/fast-export.c
index dd561e5031955b54c995abde1271c4841c3c7d24..18fdfb31af54585a4a8ca7b61de4d590be4628d1 100644
(file)
--- a/
builtin/fast-export.c
+++ b/
builtin/fast-export.c
@@
-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));