https://github.com/git/git
Revision 9de0834663f28bee9e6b2c4647ed6128241ed26f authored by Linus Torvalds on 17 October 2006, 02:58:54 UTC, committed by Junio C Hamano on 17 October 2006, 04:27:44 UTC
Jim Mayering noticed that xdiff library took insanely long time
when comparing files with many identical lines.

This was because the hash function used in the library is broken
on 64-bit architectures and caused too many collisions.

http://thread.gmane.org/gmane.comp.version-control.git/28962/focus=28994

Acked-by: Davide Libenzi <davidel@xmaliserver.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent 6fe5b7f
History
Tip revision: 9de0834663f28bee9e6b2c4647ed6128241ed26f authored by Linus Torvalds on 17 October 2006, 02:58:54 UTC
Fix hash function in xdiff library
Tip revision: 9de0834
File Mode Size
Documentation
arm
compat
contrib
gitweb
mozilla-sha1
ppc
t
templates
xdiff
.gitignore -rw-r--r-- 1.9 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 747 bytes
INSTALL -rw-r--r-- 4.7 KB
Makefile -rw-r--r-- 23.9 KB
README -rw-r--r-- 24.7 KB
alloc.c -rw-r--r-- 1.4 KB
base85.c -rw-r--r-- 2.9 KB
blame.c -rw-r--r-- 20.4 KB
blob.c -rw-r--r-- 1.2 KB
blob.h -rw-r--r-- 311 bytes
builtin-add.c -rw-r--r-- 3.0 KB
builtin-apply.c -rw-r--r-- 57.8 KB
builtin-cat-file.c -rw-r--r-- 3.5 KB
builtin-check-ref-format.c -rw-r--r-- 282 bytes
builtin-commit-tree.c -rw-r--r-- 3.3 KB
builtin-count.c -rw-r--r-- 2.8 KB
builtin-diff-files.c -rw-r--r-- 1.5 KB
builtin-diff-index.c -rw-r--r-- 1.0 KB
builtin-diff-stages.c -rw-r--r-- 2.5 KB
builtin-diff-tree.c -rw-r--r-- 3.2 KB
builtin-diff.c -rw-r--r-- 8.8 KB
builtin-fmt-merge-msg.c -rw-r--r-- 7.8 KB
builtin-grep.c -rw-r--r-- 26.5 KB
builtin-help.c -rw-r--r-- 4.8 KB
builtin-init-db.c -rw-r--r-- 8.1 KB
builtin-log.c -rw-r--r-- 11.1 KB
builtin-ls-files.c -rw-r--r-- 11.5 KB
builtin-ls-tree.c -rw-r--r-- 3.5 KB
builtin-mailinfo.c -rw-r--r-- 17.5 KB
builtin-mailsplit.c -rw-r--r-- 4.2 KB
builtin-mv.c -rw-r--r-- 7.3 KB
builtin-prune-packed.c -rw-r--r-- 1.5 KB
builtin-prune.c -rw-r--r-- 5.5 KB
builtin-push.c -rw-r--r-- 6.4 KB
builtin-read-tree.c -rw-r--r-- 22.9 KB
builtin-repo-config.c -rw-r--r-- 4.7 KB
builtin-rev-list.c -rw-r--r-- 8.3 KB
builtin-rev-parse.c -rw-r--r-- 7.7 KB
builtin-rm.c -rw-r--r-- 3.1 KB
builtin-show-branch.c -rw-r--r-- 18.2 KB
builtin-stripspace.c -rw-r--r-- 1.0 KB
builtin-tar-tree.c -rw-r--r-- 10.6 KB
builtin-update-index.c -rw-r--r-- 16.5 KB
builtin-update-ref.c -rw-r--r-- 1.3 KB
builtin-upload-tar.c -rw-r--r-- 1.6 KB
builtin-write-tree.c -rw-r--r-- 2.1 KB
builtin.h -rw-r--r-- 3.5 KB
cache-tree.c -rw-r--r-- 12.5 KB
cache-tree.h -rw-r--r-- 921 bytes
cache.h -rw-r--r-- 14.0 KB
checkout-index.c -rw-r--r-- 7.5 KB
combine-diff.c -rw-r--r-- 24.2 KB
commit.c -rw-r--r-- 22.5 KB
commit.h -rw-r--r-- 3.1 KB
config.c -rw-r--r-- 15.6 KB
config.mak.in -rw-r--r-- 494 bytes
configure.ac -rw-r--r-- 6.4 KB
connect.c -rw-r--r-- 15.6 KB
convert-objects.c -rw-r--r-- 7.4 KB
copy.c -rw-r--r-- 692 bytes
csum-file.c -rw-r--r-- 2.9 KB
csum-file.h -rw-r--r-- 566 bytes
ctype.c -rw-r--r-- 890 bytes
daemon.c -rw-r--r-- 17.8 KB
date.c -rw-r--r-- 15.0 KB
delta.h -rw-r--r-- 3.2 KB
describe.c -rw-r--r-- 3.7 KB
diff-delta.c -rw-r--r-- 13.8 KB
diff-lib.c -rw-r--r-- 7.9 KB
diff.c -rw-r--r-- 61.3 KB
diff.h -rw-r--r-- 6.1 KB
diffcore-break.c -rw-r--r-- 8.5 KB
diffcore-delta.c -rw-r--r-- 5.1 KB
diffcore-order.c -rw-r--r-- 2.2 KB
diffcore-pickaxe.c -rw-r--r-- 3.2 KB
diffcore-rename.c -rw-r--r-- 12.8 KB
diffcore.h -rw-r--r-- 3.7 KB
dir.c -rw-r--r-- 8.8 KB
dir.h -rw-r--r-- 1.3 KB
dump-cache-tree.c -rw-r--r-- 1.5 KB
entry.c -rw-r--r-- 4.1 KB
environment.c -rw-r--r-- 2.0 KB
exec_cmd.c -rw-r--r-- 3.0 KB
exec_cmd.h -rw-r--r-- 295 bytes
fetch-clone.c -rw-r--r-- 6.8 KB
fetch-pack.c -rw-r--r-- 11.8 KB
fetch.c -rw-r--r-- 6.5 KB
fetch.h -rw-r--r-- 1.6 KB
fsck-objects.c -rw-r--r-- 13.3 KB
generate-cmdlist.sh -rwxr-xr-x 550 bytes
git-am.sh -rwxr-xr-x 10.8 KB
git-annotate.perl -rwxr-xr-x 14.8 KB
git-applymbox.sh -rwxr-xr-x 2.8 KB
git-applypatch.sh -rwxr-xr-x 5.4 KB
git-archimport.perl -rwxr-xr-x 34.2 KB
git-bisect.sh -rwxr-xr-x 5.7 KB
git-branch.sh -rwxr-xr-x 2.6 KB
git-checkout.sh -rwxr-xr-x 4.9 KB
git-cherry.sh -rwxr-xr-x 1.9 KB
git-clean.sh -rwxr-xr-x 1.5 KB
git-clone.sh -rwxr-xr-x 9.9 KB
git-commit.sh -rwxr-xr-x 16.1 KB
git-compat-util.h -rw-r--r-- 4.0 KB
git-cvsexportcommit.perl -rwxr-xr-x 8.2 KB
git-cvsimport.perl -rwxr-xr-x 23.4 KB
git-cvsserver.perl -rwxr-xr-x 89.4 KB
git-fetch.sh -rwxr-xr-x 10.3 KB
git-instaweb.sh -rwxr-xr-x 4.9 KB
git-lost-found.sh -rwxr-xr-x 468 bytes
git-ls-remote.sh -rwxr-xr-x 2.0 KB
git-merge-octopus.sh -rwxr-xr-x 2.4 KB
git-merge-one-file.sh -rwxr-xr-x 2.7 KB
git-merge-ours.sh -rwxr-xr-x 356 bytes
git-merge-recursive.py -rwxr-xr-x 30.8 KB
git-merge-resolve.sh -rwxr-xr-x 955 bytes
git-merge-stupid.sh -rwxr-xr-x 1.4 KB
git-merge.sh -rwxr-xr-x 7.9 KB
git-p4import.py -rw-r--r-- 10.5 KB
git-parse-remote.sh -rwxr-xr-x 4.8 KB
git-pull.sh -rwxr-xr-x 2.6 KB
git-quiltimport.sh -rwxr-xr-x 3.0 KB
git-rebase.sh -rwxr-xr-x 7.8 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-repack.sh -rwxr-xr-x 2.3 KB
git-request-pull.sh -rwxr-xr-x 844 bytes
git-rerere.perl -rwxr-xr-x 4.8 KB
git-reset.sh -rwxr-xr-x 1.5 KB
git-resolve.sh -rwxr-xr-x 2.5 KB
git-revert.sh -rwxr-xr-x 4.0 KB
git-send-email.perl -rwxr-xr-x 15.0 KB
git-sh-setup.sh -rwxr-xr-x 1014 bytes
git-shortlog.perl -rwxr-xr-x 4.0 KB
git-svn.perl -rwxr-xr-x 85.9 KB
git-svnimport.perl -rwxr-xr-x 22.8 KB
git-tag.sh -rwxr-xr-x 2.2 KB
git-verify-tag.sh -rwxr-xr-x 703 bytes
git.c -rw-r--r-- 9.1 KB
git.spec.in -rw-r--r-- 6.3 KB
gitMergeCommon.py -rw-r--r-- 6.9 KB
gitk -rwxr-xr-x 157.3 KB
hash-object.c -rw-r--r-- 1.8 KB
http-fetch.c -rw-r--r-- 32.4 KB
http-push.c -rw-r--r-- 67.0 KB
http.c -rw-r--r-- 11.1 KB
http.h -rw-r--r-- 2.3 KB
ident.c -rw-r--r-- 5.1 KB
imap-send.c -rw-r--r-- 29.0 KB
index-pack.c -rw-r--r-- 11.6 KB
local-fetch.c -rw-r--r-- 6.1 KB
lockfile.c -rw-r--r-- 1.5 KB
log-tree.c -rw-r--r-- 7.7 KB
log-tree.h -rw-r--r-- 386 bytes
merge-base.c -rw-r--r-- 1.2 KB
merge-file.c -rw-r--r-- 3.3 KB
merge-index.c -rw-r--r-- 2.7 KB
merge-tree.c -rw-r--r-- 7.8 KB
mktag.c -rw-r--r-- 3.9 KB
mktree.c -rw-r--r-- 3.1 KB
name-rev.c -rw-r--r-- 5.4 KB
object-refs.c -rw-r--r-- 3.0 KB
object.c -rw-r--r-- 5.1 KB
object.h -rw-r--r-- 2.3 KB
pack-check.c -rw-r--r-- 4.2 KB
pack-objects.c -rw-r--r-- 33.5 KB
pack-redundant.c -rw-r--r-- 14.3 KB
pack.h -rw-r--r-- 519 bytes
pager.c -rw-r--r-- 929 bytes
patch-delta.c -rw-r--r-- 2.1 KB
patch-id.c -rw-r--r-- 1.6 KB
path-list.c -rw-r--r-- 2.3 KB
path-list.h -rw-r--r-- 603 bytes
path.c -rw-r--r-- 5.8 KB
peek-remote.c -rw-r--r-- 1.3 KB
pkt-line.c -rw-r--r-- 2.4 KB
pkt-line.h -rw-r--r-- 348 bytes
quote.c -rw-r--r-- 5.9 KB
quote.h -rw-r--r-- 1.6 KB
read-cache.c -rw-r--r-- 24.1 KB
receive-pack.c -rw-r--r-- 7.6 KB
refs.c -rw-r--r-- 12.3 KB
refs.h -rw-r--r-- 1.6 KB
revision.c -rw-r--r-- 26.2 KB
revision.h -rw-r--r-- 2.6 KB
rsh.c -rw-r--r-- 2.3 KB
rsh.h -rw-r--r-- 159 bytes
run-command.c -rw-r--r-- 1.5 KB
run-command.h -rw-r--r-- 523 bytes
send-pack.c -rw-r--r-- 9.2 KB
server-info.c -rw-r--r-- 5.1 KB
setup.c -rw-r--r-- 6.1 KB
sha1_file.c -rw-r--r-- 41.8 KB
sha1_name.c -rw-r--r-- 12.1 KB
shell.c -rw-r--r-- 1.1 KB
show-index.c -rw-r--r-- 593 bytes
ssh-fetch.c -rw-r--r-- 3.6 KB
ssh-pull.c -rw-r--r-- 154 bytes
ssh-push.c -rw-r--r-- 155 bytes
ssh-upload.c -rw-r--r-- 2.8 KB
strbuf.c -rw-r--r-- 807 bytes
strbuf.h -rw-r--r-- 216 bytes
symbolic-ref.c -rw-r--r-- 785 bytes
tag.c -rw-r--r-- 2.6 KB
tag.h -rw-r--r-- 471 bytes
tar.h -rw-r--r-- 644 bytes
test-date.c -rw-r--r-- 416 bytes
test-delta.c -rw-r--r-- 1.8 KB
test-sha1.c -rw-r--r-- 815 bytes
test-sha1.sh -rwxr-xr-x 1.9 KB
tree-diff.c -rw-r--r-- 5.7 KB
tree-walk.c -rw-r--r-- 4.3 KB
tree-walk.h -rw-r--r-- 863 bytes
tree.c -rw-r--r-- 5.0 KB
tree.h -rw-r--r-- 860 bytes
unpack-file.c -rw-r--r-- 812 bytes
unpack-objects.c -rw-r--r-- 6.5 KB
update-server-info.c -rw-r--r-- 457 bytes
upload-pack.c -rw-r--r-- 11.3 KB
usage.c -rw-r--r-- 1.5 KB
var.c -rw-r--r-- 1.3 KB
verify-pack.c -rw-r--r-- 1.6 KB
xdiff-interface.c -rw-r--r-- 2.2 KB
xdiff-interface.h -rw-r--r-- 446 bytes

README

back to top