git/builtin
Jeff King 9e8e704f0b fetch-pack: sort the list of incoming refs
Having the list sorted means we can avoid some quadratic
algorithms when comparing lists.

These should typically be sorted already, but they do come
from the remote, so let's be extra careful. Our ref-sorting
implementation does a mergesort, so we do not have to care
about performance degrading in the common case that the list
is already sorted.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-05-22 13:31:03 -07:00
..
add.c Merge branch 'js/add-e-submodule-fix' into maint 2012-02-13 11:42:18 -08:00
annotate.c
apply.c Merge branch 'nd/i18n-parseopt' 2012-05-17 15:22:30 -07:00
archive.c Revert "upload-archive: use start_command instead of fork" 2011-11-15 15:39:33 -08:00
bisect--helper.c bisect: introduce support for --no-checkout option. 2011-08-04 15:34:32 -07:00
blame.c builtin/blame.c: Fix a "Using plain integer as NULL pointer" warning 2012-05-14 10:19:42 -07:00
branch.c branch: remove lego in i18n tracking info strings 2012-05-04 09:12:24 -07:00
bundle.c Teach progress eye-candy to fetch_refs_from_bundle() 2011-09-19 11:07:21 -07:00
cat-file.c cat-file: use streaming API to print blobs 2012-03-07 09:07:38 -08:00
check-attr.c Merge branch 'bc/attr-ignore-case' 2011-10-17 21:37:14 -07:00
check-ref-format.c Change check_refname_format() to reject unnormalized refnames 2011-10-05 13:45:30 -07:00
checkout-index.c checkout-index: remove obsolete comment 2011-08-17 10:39:47 -07:00
checkout.c Merge branch 'ef/checkout-empty' 2012-05-11 11:34:17 -07:00
clean.c Documentation: clarify "git clean -e <pattern>" 2011-08-28 23:47:55 -07:00
clone.c Merge branch 'ef/maint-1.7.6-clone-progress-fix' into ef/maint-clone-progress-fix 2012-05-07 12:35:36 -07:00
column.c Add column layout skeleton and git-column 2012-04-27 09:26:37 -07:00
commit-tree.c Merge branch 'jc/show-sig' 2012-01-06 12:44:07 -08:00
commit.c status: refactor colopts handling 2012-05-08 04:57:42 -04:00
config.c config: remove useless assignment 2012-03-28 15:19:17 -07:00
count-objects.c
describe.c describe: Refresh the index when run with --dirty 2011-09-23 14:28:17 -07:00
diff-files.c
diff-index.c
diff-tree.c diffcore-rename: fall back to -C when -C -C busts the rename limit 2011-03-22 14:29:07 -07:00
diff.c drop casts from users EMPTY_TREE_SHA1_BIN 2012-03-23 13:52:05 -07:00
fast-export.c Merge branch 'rs/no-no-no-parseopt' 2012-03-01 20:59:31 -08:00
fetch-pack.c fetch-pack: sort the list of incoming refs 2012-05-22 13:31:03 -07:00
fetch.c Merge branch 'mb/fetch-call-a-non-branch-a-ref' into maint 2012-05-03 15:29:25 -07:00
fmt-merge-msg.c Merge branch 'jc/merge-reduce-parents-early' 2012-04-27 13:59:20 -07:00
for-each-ref.c Convert resolve_ref+xstrdup to new resolve_refdup function 2011-12-13 09:26:52 -08:00
fsck.c fsck: use streaming API for writing lost-found blobs 2012-03-07 09:07:39 -08:00
gc.c gc: use argv-array for sub-commands 2012-04-18 16:17:42 -07:00
grep.c Merge branch 'rs/no-no-no-parseopt' 2012-03-01 20:59:31 -08:00
hash-object.c index_fd(): turn write_object and format_check arguments into one flag 2011-05-09 11:58:19 -07:00
help.c Merge branch 'nd/columns' 2012-05-03 15:13:31 -07:00
index-pack.c Merge branch 'nd/threaded-index-pack' 2012-05-14 11:50:40 -07:00
init-db.c builtin/init-db.c: eliminate -Wformat warning on Solaris 2011-12-20 16:02:08 -08:00
log.c Merge branch 'nd/stream-more' 2012-04-15 22:50:39 -07:00
ls-files.c Merge branch 'cb/common-prefix-unification' 2011-10-10 15:56:17 -07:00
ls-remote.c Merge branch 'jc/ls-remote-short-help' 2011-10-05 12:36:26 -07:00
ls-tree.c Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails. 2011-07-25 10:50:11 -07:00
mailinfo.c mailinfo: with -b, keep space after [foo] 2012-01-16 16:06:57 -08:00
mailsplit.c
merge-base.c Documentation: update to git-merge-base --octopus 2011-04-15 10:13:52 -07:00
merge-file.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
merge-index.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
merge-ours.c
merge-recursive.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
merge-tree.c sparse: Fix an "symbol 'merge_file' not decared" warning 2011-04-11 10:35:25 -07:00
merge.c Merge branch 'jc/merge-reduce-parents-early' into maint 2012-05-03 15:36:15 -07:00
mktag.c read_sha1_file(): get rid of read_sha1_file_repl() madness 2011-05-15 15:23:33 -07:00
mktree.c Merge "Move 'builtin-*' into a 'builtin/' subdirectory" 2011-11-10 09:10:51 -08:00
mv.c Merge branch 'jk/maint-mv' into maint 2011-12-28 11:32:36 -08:00
name-rev.c Merge branch 'jc/maint-name-rev-all' into maint-1.7.6 2011-12-13 21:12:34 -08:00
notes.c Merge branch 'nd/war-on-nul-in-commit' 2011-12-22 11:27:26 -08:00
pack-objects.c gc: do not explode objects which will be immediately pruned 2012-04-11 11:09:49 -07:00
pack-redundant.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
pack-refs.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
patch-id.c patch-id.c: use strbuf instead of a fixed buffer 2011-09-22 09:35:07 -07:00
prune-packed.c fix deletion of .git/objects sub-directories in git-prune/repack 2012-03-07 10:24:33 -08:00
prune.c fix deletion of .git/objects sub-directories in git-prune/repack 2012-03-07 10:24:33 -08:00
push.c Merge branch 'mm/simple-push' 2012-05-02 13:51:24 -07:00
read-tree.c Teach read-tree the -n|--dry-run option 2011-05-25 15:04:25 -07:00
receive-pack.c Merge branch 'cb/receive-pack-keep-errors' into maint 2012-02-21 15:14:41 -08:00
reflog.c prune: show progress while marking reachable objects 2011-11-07 22:12:19 -08:00
remote-ext.c Remove unused variables 2011-03-22 11:43:27 -07:00
remote-fd.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
remote.c remote: fix typo 2012-05-20 18:48:10 -07:00
replace.c Convert many resolve_ref() calls to read_ref*() and ref_exists() 2011-11-13 12:21:06 -08:00
rerere.c rerere: libify rerere_clear() and rerere_gc() 2011-05-08 12:55:34 -07:00
reset.c reset: update cache-tree data when appropriate 2011-12-06 15:13:39 -08:00
rev-list.c Merge branch 'jk/maint-reflog-walk-count-vs-time' 2012-05-11 11:30:08 -07:00
rev-parse.c rev-parse --show-prefix: add in trailing newline 2012-04-10 09:25:35 -07:00
revert.c Merge branch 'nh/empty-rebase' 2012-04-30 14:58:01 -07:00
rm.c
send-pack.c teach send-pack about --[no-]progress 2012-05-01 09:40:30 -07:00
shortlog.c Merge branch 'jk/format-patch-am' 2011-05-31 12:19:11 -07:00
show-branch.c Rename resolve_ref() to resolve_ref_unsafe() 2011-12-13 09:39:46 -08:00
show-ref.c Convert many resolve_ref() calls to read_ref*() and ref_exists() 2011-11-13 12:21:06 -08:00
stripspace.c Update documentation for stripspace 2011-12-12 16:48:54 -08:00
symbolic-ref.c symbolic-ref --short: abbreviate the output unambiguously 2012-02-27 15:58:36 -08:00
tag.c tag: add --column 2012-04-27 09:26:39 -07:00
tar-tree.c
unpack-file.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
unpack-objects.c remove superfluous newlines in error messages 2012-04-30 15:45:51 -07:00
update-index.c update-index: upgrade/downgrade on-disk index version 2012-04-04 09:57:50 -07:00
update-ref.c update-ref: whitespace fix 2011-08-25 14:42:11 -07:00
update-server-info.c update-server-info: respect core.bigfilethreshold 2012-03-07 09:07:39 -08:00
upload-archive.c upload-archive: use start_command instead of fork 2011-11-21 14:32:40 -08:00
var.c Fix sparse warnings 2011-03-22 10:16:54 -07:00
verify-pack.c verify-pack: use index-pack --verify 2011-06-05 22:45:38 -07:00
verify-tag.c verify-tag: Parse GPG configuration options. 2012-03-08 14:03:07 -08:00
write-tree.c