GIT 1.4.2.4

This is to fix performance bug of xdiff on 64-bit architectures.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQBFNFxzwMbZpPMRm5oRAl+0AJ9X9BNQuSXhTSbiO6pBfoB+LiKAawCfZJQc
eZwS3gHG21x2Tte6VNW1QnE=
=90xG
-----END PGP SIGNATURE-----
Fix hash function in xdiff library

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 file changed
tree: 75e3cdf40a6d77455c6177dd579c02fb66116675
  1. .gitignore
  2. COPYING
  3. Documentation/
  4. GIT-VERSION-GEN
  5. INSTALL
  6. Makefile
  7. README
  8. alloc.c
  9. arm/
  10. base85.c
  11. blame.c
  12. blob.c
  13. blob.h
  14. builtin-add.c
  15. builtin-apply.c
  16. builtin-cat-file.c
  17. builtin-check-ref-format.c
  18. builtin-commit-tree.c
  19. builtin-count.c
  20. builtin-diff-files.c
  21. builtin-diff-index.c
  22. builtin-diff-stages.c
  23. builtin-diff-tree.c
  24. builtin-diff.c
  25. builtin-fmt-merge-msg.c
  26. builtin-grep.c
  27. builtin-help.c
  28. builtin-init-db.c
  29. builtin-log.c
  30. builtin-ls-files.c
  31. builtin-ls-tree.c
  32. builtin-mailinfo.c
  33. builtin-mailsplit.c
  34. builtin-mv.c
  35. builtin-prune-packed.c
  36. builtin-prune.c
  37. builtin-push.c
  38. builtin-read-tree.c
  39. builtin-repo-config.c
  40. builtin-rev-list.c
  41. builtin-rev-parse.c
  42. builtin-rm.c
  43. builtin-show-branch.c
  44. builtin-stripspace.c
  45. builtin-tar-tree.c
  46. builtin-update-index.c
  47. builtin-update-ref.c
  48. builtin-upload-tar.c
  49. builtin-write-tree.c
  50. builtin.h
  51. cache-tree.c
  52. cache-tree.h
  53. cache.h
  54. checkout-index.c
  55. combine-diff.c
  56. commit.c
  57. commit.h
  58. compat/
  59. config.c
  60. config.mak.in
  61. configure.ac
  62. connect.c
  63. contrib/
  64. convert-objects.c
  65. copy.c
  66. csum-file.c
  67. csum-file.h
  68. ctype.c
  69. daemon.c
  70. date.c
  71. delta.h
  72. describe.c
  73. diff-delta.c
  74. diff-lib.c
  75. diff.c
  76. diff.h
  77. diffcore-break.c
  78. diffcore-delta.c
  79. diffcore-order.c
  80. diffcore-pickaxe.c
  81. diffcore-rename.c
  82. diffcore.h
  83. dir.c
  84. dir.h
  85. dump-cache-tree.c
  86. entry.c
  87. environment.c
  88. exec_cmd.c
  89. exec_cmd.h
  90. fetch-clone.c
  91. fetch-pack.c
  92. fetch.c
  93. fetch.h
  94. fsck-objects.c
  95. generate-cmdlist.sh
  96. git-am.sh
  97. git-annotate.perl
  98. git-applymbox.sh
  99. git-applypatch.sh
  100. git-archimport.perl
  101. git-bisect.sh
  102. git-branch.sh
  103. git-checkout.sh
  104. git-cherry.sh
  105. git-clean.sh
  106. git-clone.sh
  107. git-commit.sh
  108. git-compat-util.h
  109. git-cvsexportcommit.perl
  110. git-cvsimport.perl
  111. git-cvsserver.perl
  112. git-fetch.sh
  113. git-instaweb.sh
  114. git-lost-found.sh
  115. git-ls-remote.sh
  116. git-merge-octopus.sh
  117. git-merge-one-file.sh
  118. git-merge-ours.sh
  119. git-merge-recursive.py
  120. git-merge-resolve.sh
  121. git-merge-stupid.sh
  122. git-merge.sh
  123. git-p4import.py
  124. git-parse-remote.sh
  125. git-pull.sh
  126. git-quiltimport.sh
  127. git-rebase.sh
  128. git-relink.perl
  129. git-repack.sh
  130. git-request-pull.sh
  131. git-rerere.perl
  132. git-reset.sh
  133. git-resolve.sh
  134. git-revert.sh
  135. git-send-email.perl
  136. git-sh-setup.sh
  137. git-shortlog.perl
  138. git-svn.perl
  139. git-svnimport.perl
  140. git-tag.sh
  141. git-verify-tag.sh
  142. git.c
  143. git.spec.in
  144. gitMergeCommon.py
  145. gitk
  146. gitweb/
  147. hash-object.c
  148. http-fetch.c
  149. http-push.c
  150. http.c
  151. http.h
  152. ident.c
  153. imap-send.c
  154. index-pack.c
  155. local-fetch.c
  156. lockfile.c
  157. log-tree.c
  158. log-tree.h
  159. merge-base.c
  160. merge-file.c
  161. merge-index.c
  162. merge-tree.c
  163. mktag.c
  164. mktree.c
  165. mozilla-sha1/
  166. name-rev.c
  167. object-refs.c
  168. object.c
  169. object.h
  170. pack-check.c
  171. pack-objects.c
  172. pack-redundant.c
  173. pack.h
  174. pager.c
  175. patch-delta.c
  176. patch-id.c
  177. path-list.c
  178. path-list.h
  179. path.c
  180. peek-remote.c
  181. pkt-line.c
  182. pkt-line.h
  183. ppc/
  184. quote.c
  185. quote.h
  186. read-cache.c
  187. receive-pack.c
  188. refs.c
  189. refs.h
  190. revision.c
  191. revision.h
  192. rsh.c
  193. rsh.h
  194. run-command.c
  195. run-command.h
  196. send-pack.c
  197. server-info.c
  198. setup.c
  199. sha1_file.c
  200. sha1_name.c
  201. shell.c
  202. show-index.c
  203. ssh-fetch.c
  204. ssh-pull.c
  205. ssh-push.c
  206. ssh-upload.c
  207. strbuf.c
  208. strbuf.h
  209. symbolic-ref.c
  210. t/
  211. tag.c
  212. tag.h
  213. tar.h
  214. templates/
  215. test-date.c
  216. test-delta.c
  217. test-sha1.c
  218. test-sha1.sh
  219. tree-diff.c
  220. tree-walk.c
  221. tree-walk.h
  222. tree.c
  223. tree.h
  224. unpack-file.c
  225. unpack-objects.c
  226. update-server-info.c
  227. upload-pack.c
  228. usage.c
  229. var.c
  230. verify-pack.c
  231. xdiff-interface.c
  232. xdiff-interface.h
  233. xdiff/