git/builtin
Felipe Contreras e6812cfa9a fast-export: do not parse non-commit objects while reading marks file
We read from the marks file and keep only marked commits, but in
order to find the type of object, we are parsing the whole thing,
which is slow, specially in big repositories with lots of big files.

There's no need for that, we can query the object information with
sha1_object_info().

Before this, loading the objects of a fresh emacs import, with 260598
blobs took 14 minutes, after this patch, it takes 3 seconds.

This is the way fast-import does it. Also die if the object is not
found (like fast-import).

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-05-07 07:03:01 -07:00
..
add.c Merge branch 'jc/add-ignore-removal' 2013-04-26 15:28:09 -07:00
annotate.c
apply.c Merge branch 'jc/apply-ws-fix-tab-in-indent' into maint 2013-04-22 11:26:56 -07:00
archive.c pkt-line: provide a LARGE_PACKET_MAX static buffer 2013-02-20 13:42:22 -08:00
bisect--helper.c
blame.c Merge branch 'nd/pretty-formats' 2013-04-23 11:22:48 -07:00
branch.c branch: colour upstream branches 2013-04-15 11:04:44 -07:00
bundle.c
cat-file.c cat-file: print tags raw for "cat-file -p" 2013-04-17 14:48:45 -07:00
check-attr.c
check-ignore.c dir.c: git-status --ignored: don't scan the work tree twice 2013-04-15 12:36:42 -07:00
check-ref-format.c
checkout-index.c
checkout.c Merge branch 'nd/checkout-keep-sparse' 2013-04-22 11:11:40 -07:00
clean.c Merge branch 'as/check-ignore' 2013-01-23 21:19:10 -08:00
clone.c Merge branch 'jk/check-corrupt-objects-carefully' 2013-04-28 11:57:54 -07:00
column.c
commit-tree.c commit-tree: document -S option consistently 2013-03-25 15:01:22 -07:00
commit.c pretty: save commit encoding from logmsg_reencode if the caller needs it 2013-04-18 16:28:27 -07:00
config.c Merge branch 'cn/config-missing-path' into maint 2012-11-25 18:35:46 -08:00
count-objects.c count-objects: add -H option to humanize sizes 2013-04-10 13:27:26 -07:00
credential.c
describe.c Merge branch 'jc/describe' into maint 2013-04-03 09:25:52 -07:00
diff-files.c
diff-index.c
diff-tree.c
diff.c
fast-export.c fast-export: do not parse non-commit objects while reading marks file 2013-05-07 07:03:01 -07:00
fetch-pack.c Merge branch 'jk/pkt-line-cleanup' 2013-04-01 08:59:37 -07:00
fetch.c Merge branch 'jk/gc-auto-after-fetch' 2013-02-01 12:40:16 -08:00
fmt-merge-msg.c Merge branch 'rt/commentchar-fmt-merge-msg' 2013-04-15 12:40:56 -07:00
for-each-ref.c
fsck.c
gc.c
grep.c Sync with 1.8.1 maintenance track 2013-04-03 09:18:01 -07:00
hash-object.c
help.c help: mark common_guides[] as translatable 2013-04-12 09:49:00 -07:00
index-pack.c Merge branch 'nd/index-pack-threaded-fixes' into maint 2013-04-04 13:00:41 -07:00
init-db.c
log.c Merge branch 'rr/shortlog-doc' 2013-04-26 15:28:39 -07:00
ls-files.c dir.c: replace is_path_excluded with now equivalent is_excluded API 2013-04-15 12:34:01 -07:00
ls-remote.c
ls-tree.c
mailinfo.c Merge branch 'jc/same-encoding' into maint 2012-12-07 14:10:56 -08:00
mailsplit.c mailsplit: sort maildir filenames more cleverly 2013-03-02 22:52:44 -08:00
merge-base.c
merge-file.c
merge-index.c Which merge_file() function do you mean? 2012-12-09 23:05:27 -08:00
merge-ours.c
merge-recursive.c
merge-tree.c merge-tree: fix typo in "both changed identically" 2013-04-28 11:53:41 -07:00
merge.c Merge branch 'jc/merge-tag-object' into maint 2013-04-24 16:14:06 -07:00
mktag.c
mktree.c
mv.c
name-rev.c
notes.c Allow custom "comment char" 2013-01-16 12:48:22 -08:00
pack-objects.c
pack-redundant.c Fix sizeof usage in get_permutations 2012-12-13 11:13:44 -08:00
pack-refs.c
patch-id.c
prune-packed.c
prune.c Merge branch 'jk/fully-peeled-packed-ref' into maint-1.8.1 2013-04-03 08:43:03 -07:00
push.c remote.c: introduce a way to have different remotes for fetch/push 2013-04-02 10:41:42 -07:00
read-tree.c
receive-pack.c Merge branch 'jk/receive-pack-deadlocks-with-early-failure' 2013-04-23 11:16:50 -07:00
reflog.c Merge branch 'jc/maint-reflog-expire-clean-mark-typofix' into maint 2013-03-26 12:39:51 -07:00
remote-ext.c
remote-fd.c
remote.c remote: check for superfluous arguments in 'git remote add' 2013-04-24 13:12:51 -07:00
replace.c
rerere.c
reset.c reset: update documentation to require only tree-ish with paths 2013-01-16 12:50:23 -08:00
rev-list.c
rev-parse.c
revert.c cherry-pick/revert: make usage say '<commit-ish>...' 2013-04-24 09:48:01 -07:00
rm.c rm: do not complain about d/f conflicts during deletion 2013-04-04 12:28:47 -07:00
send-pack.c teach get_remote_heads to read from a memory buffer 2013-02-24 00:17:38 -08:00
shortlog.c builtin/shortlog.c: make usage string consistent with log 2013-04-22 08:00:54 -07:00
show-branch.c show-branch: use strbuf instead of static buffer 2013-04-06 18:57:15 -07:00
show-ref.c
stripspace.c Allow custom "comment char" 2013-01-16 12:48:22 -08:00
symbolic-ref.c
tag.c Merge branch 'ph/tag-force-no-warn-on-creation' into maint 2013-04-03 09:24:51 -07:00
tar-tree.c
unpack-file.c
unpack-objects.c
update-index.c update-index: allow "-h" to also display options 2013-02-23 23:49:33 -08:00
update-ref.c
update-server-info.c
upload-archive.c pkt-line: provide a LARGE_PACKET_MAX static buffer 2013-02-20 13:42:22 -08:00
var.c
verify-pack.c
verify-tag.c gpg_interface: allow to request status return 2013-02-14 09:30:04 -08:00
write-tree.c