README
author David Greenaway <hg-dev@davidgreenaway.com>
Sat, 03 Apr 2010 11:58:16 +1100
changeset 11060 e6df01776e08
parent 9596 a41f2840f9c6
child 12856 5c6c10e6b5a6
permissions -rw-r--r--
findrenames: Optimise "addremove -s100" by matching files by their SHA1 hashes. We speed up 'findrenames' for the usecase when a user specifies they want a similarity of 100% by matching files by their exact SHA1 hash value. This reduces the number of comparisons required to find exact matches from O(n^2) to O(n). While it would be nice if we could just use mercurial's pre-calculated SHA1 hash for existing files, this hash includes the file's ancestor information making it unsuitable for our purposes. Instead, we calculate the hash of old content from scratch. The following benchmarks were taken on the current head of crew: addremove 100% similarity: rm -rf *; hg up -C; mv tests tests.new hg --time addremove -s100 --dry-run before: real 176.350 secs (user 128.890+0.000 sys 47.430+0.000) after: real 2.130 secs (user 1.890+0.000 sys 0.240+0.000) addremove 75% similarity: rm -rf *; hg up -C; mv tests tests.new; \ for i in tests.new/*; do echo x >> $i; done hg --time addremove -s75 --dry-run before: real 264.560 secs (user 215.130+0.000 sys 49.410+0.000) after: real 218.710 secs (user 172.790+0.000 sys 45.870+0.000)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3935
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
     1
Basic install:
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
     2
3935
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
     3
 $ make            # see install targets
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
     4
 $ make install    # do a system-wide install
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
     5
 $ hg debuginstall # sanity-check setup
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
     6
 $ hg              # see help
205
d255d99a7cbd README: integrate some changes from Kevin Smith
mpm@selenic.com
parents: 204
diff changeset
     7
8936
1de6e7e1bb9f change wiki/bts URLs to point to new hostname
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 3935
diff changeset
     8
See http://mercurial.selenic.com/ for detailed installation
3935
1158d7018052 Move README info to wiki
Matt Mackall <mpm@selenic.com>
parents: 3847
diff changeset
     9
instructions, platform-specific notes, and Mercurial user information.
327
a9ad98a9c9bc Tweak README for branch, push, and .hgrc
mpm@selenic.com
parents: 261
diff changeset
    10